如何求和特定字段的情况下,当记录此字段的常见ID



让我们简化我的问题,我有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);

最新更新