考虑以下类层次结构:
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 语句中轻松完成吗?