Linq 当此字段的记录在ID中常见时,如何对特定字段进行求和?

Linq 当此字段的记录在ID中常见时,如何对特定字段进行求和?,linq,list,Linq,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,40

好吧,让我们简化我的问题,我有
员工列表
这个
列表
包含这个字段 (
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);

但是我想要
SUM
这个查询不求和?!是的,谢谢,男人工作得很好:)