让我们简化我的问题,我有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查询使输出作为包含
的列表(1,3000,Amgad)
(2,2600,Mohamed)
(3,400,Mego)
应该可以。
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);