如何在ID中公共此字段的记录时对特定字段进行求和?

时间:2016-09-25 14:53:21

标签: linq list

让我们简化我的问题list of employeelist包含此字段 (idsalaryname)我将填写它,例如

 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)

1 个答案:

答案 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);