让我们简化我的问题list of employee
此list
包含此字段
(id
,salary
,name
)我将填写它,例如
1. (1,1000,Amgad)
2. (1,2000,Amgad)
3. (2,100,Mohamed)
4. (2,1000,Mohamed)
5. (2,1500,Mohamed)
6. (3,200,Mego)
7. (3,200,Mego)
我希望Linq Query使输出为包含的列表
(1,3000,Amgad)
(2,2600,Mohamed)
(3,400,Mego)
答案 0 :(得分:0)
这应该有用。
var tmp = list.GroupBy(g => g.Id)
.ToDictionary(d => d.Key, d => d.ToList().OrderByDescending(o => o.Salary)).Select(s => s.Value.FirstOrDefault())
.ToList()
.Sum(s => s.Salary);