考虑以下类层次结构:
public class Foo
{
public string Name { get; set; }
public int Value { get; set; }
}
public class Bar
{
public string Name { get; set; }
public IEnumerable<Foo> TheFoo { get; set; }
}
public class Host
{
public void Go()
{
IEnumerable<Bar> allBar = //Build up some large list
//Get Dictionary<Bar, Foo> with max foo value
}
}
我想使用 Linq2Objects 做的是获得一个 KeyValuePair,其中对于 allBBar 集合中的每个 Bar 我们选择具有最大值属性的 Foo 。这可以在单个 LINQ 语句中轻松完成吗?