我的软件中有一个具有这些属性的类的列表:
名称 -- 数量
列表可能包含这些数据:
姓名 1 -- 12
姓名 1 -- 10
姓名 2 -- 10
姓名 2 -- 5
我需要这样的输出:
姓名 1 -- 22
姓名 2 -- 15
我可以使用困惑的代码(使用 for each 等)生成此输出,但如何使用 LINQ 查询提供此输出?
最佳答案
您可以使用 Enumerable.GroupBy和 Enumerable.Sum .
它看起来类似于:
var values = theCollection
.GroupBy(item => item.Name)
.Select(g => new { Name = g.Key, Total = g.Sum(i => i.Value) });
foreach(var value in values)
Console.WriteLine("{0} - {1}", value.Name, value.Total);
关于c# - Linq 列出查询 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969892/