且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用 Linq to object 构建层次结构?

更新时间:2023-02-18 18:48:34

你应该使用递归:

public void SomeMethod() {
     // here you get your `list`
     var tree = GetTree(list, 0);
}

public List<Tree> GetTree(List<Personal> list, int parent) {
    return list.Where(x => x.ParentId == parent).Select(x => new Tree {
        Id = x.Id,
        Name = x.Name,
        List = GetTree(list, x.Id)
   }).ToList();
}