我想按类别分组,显示其名称,然后显示与其相关的最高 ID。这是我想要的一些数据和结果。有任何想法吗?我一直在尝试 GroupJoin,但似乎无法让它发挥作用。
我的数据
var stuff = new[] {
new {id = 5, catId = 2},
new {id = 56, catId = 2},
new {id = 56, catId = 2},
new {id = 8, catId = 1},
new {id = 9, catId = 3}};
var categories = new[] {
new {catId = 1, Name = "Water"},
new {catId = 4, Name = "Wind"},
new {catId = 2, Name = "Fire"}};
我希望我的结果是什么样的
Water - 8
Wind - null
Fire - 56
最佳答案
categories
.GroupJoin
(
stuff,
c=>c.catId,
s=>s.catId,
(c,s)=>new
{
c.Name,
Max = s.Any() ? (int?)s.Max (m => m.id) : null
}
);
关于linq - 按最大值分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24992659/