我有一个具有以下基本结构的对象列表:
class Person
{
public int ID {get; set;}
public bool ShowChildren {get; set;}
public int ParentID {get; set;}
// ...many other properties...
}
我需要返回按 ID 排序的 Person 父类列表。如果启用了 ShowChildren 标志,则还返回其父级下的子级,按其 ID 排序。
这只是一个层次,即孩子不会有孩子。
我可以写一个 linq 语句来给我所有的父母,但是当父母的标志被启用时,我被困在如何包括排序的孩子。
var People = PersonList
.Where(x => x.ParentID == 0)
.Orderby(x => x.ID)
.ToList();