尴尬的林克排序
本文关键字:排序 林克 | 更新日期: 2023-09-27 18:02:16
我有一个Foo对象列表:
List<Foo>
Foo本身包含一个Bar属性,其中包含一个名为DateHappened:的DateTime属性的Baz列表
public class Foo
{
public Bar Bar { get; set; }
}
public class Bar
{
public List<Baz> Baz { get; set; }
}
是否可以根据DateHappened属性的最早值对Foo列表进行排序?
var ordered = fooList.OrderBy(f => f.Bar.Baz.Min(b => b.DateHappened));
var ordered = fooList
.SelectMany(f => f.Bar.Bazs.Select(b => new { Foo = f, DT = b.DateTime }))
.OrderBy(fd => fd.DT)
.Select(fd => fd.Foo);
如果你想在每个Baz
列表中按最短时间订购,你可以做:
var ordered = fooList
.OrderBy(f => f.Bar.Bazs.Select(b => b.DateTime).Min());