我有一个父母的孩子关系,如:
public class MyType {
public IList<MyType> Children {get;set;}
public int Order {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想选择列表,以便每个级别都有序.
我可以轻松地为顶级做到这一点:
mylist.Children.OrderBy(x => x.Order)
Run Code Online (Sandbox Code Playgroud)
但是,我如何为每一个孩子做这件事?
最终结果将是包含其所有子项的列表或类型,并且子项(等等)都按顺序正确排序.
谢谢.
您可以通过添加一个方法来执行递归顺序MyType:
public class MyType
{
public IList<MyType> Childrens { get; set; }
public int Order { get; set; }
public void RecursiveOrder()
{
Childrens = Childrens.OrderBy(x => x.Order)
.ToList();
Childrens.ToList().ForEach(c => c.RecursiveOrder());
}
}
Run Code Online (Sandbox Code Playgroud)