使用C#中的子项对列表进行排序

Web*_*edi 4 c# sorting

我正在尝试根据列表中某个项目的最早(最低)创建日期对订单和项目列表进行排序.

所以我有:

public MyOrder
{
orderid int;
IList<MyItems> orderitems;
}

public MyItems
{
DateTime itemcreatedate;
}
Run Code Online (Sandbox Code Playgroud)

假设Order1在itemcreatedate 6/1/2010和6/15/2010中有两个项目

Order2在itemcreatedate 4/1/2010和6/10/2010中有两个项目

我希望我的排序列表是Order2,Order1

我微弱的解冻穴居人开发人员大脑可以看到一种蛮力的迭代方式来实现它,但我想知道是否有人有一个很好的清洁方式.

Mar*_*ers 6

尝试这样的事情:

List<MyOrder> sortedList = myOrders
    .OrderBy(myOrder => myOrder.OrderItems.Min(myItem => myItem.ItemCreateDate))
    .ToList();
Run Code Online (Sandbox Code Playgroud)