0

Foo オブジェクトのリストがあります。

List<Foo>

Foo 自体には、DateHappened という名前の DateTime プロパティを持つ Baz のリストを含む Bar プロパティが含まれています。

public class Foo
{
   public Bar Bar { get; set; }
}

public class Bar
{
   public List<Baz> Baz { get; set; }
}

DateHappened プロパティの最も早い値に基づいて Foos のリストを並べ替えることは可能ですか?

4

2 に答える 2

4
var ordered = fooList.OrderBy(f => f.Bar.Baz.Min(b => b.DateHappened));
于 2013-03-05T18:47:15.693 に答える
0
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());
于 2013-03-05T18:34:50.157 に答える