c# - Linq 列出查询 C#

标签 c# linq linq-to-objects

我的软件中有一个具有这些属性的类的列表:
名称 -- 数量
列表可能包含这些数据:
姓名 1 -- 12
姓名 1 -- 10
姓名 2 -- 10
姓名 2 -- 5
我需要这样的输出:
姓名 1 -- 22
姓名 2 -- 15
我可以使用困惑的代码(使用 for each 等)生成此输出,但如何使用 LINQ 查询提供此输出?

最佳答案

您可以使用 Enumerable.GroupByEnumerable.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/

相关文章:

c# - System.Reflection 如何访问类成员数据/信息?

c# - 正则表达式提取字符串

c# - 如何在 C# 中使用 LINQ 比较 2 个 XML

c# - LINQ 的可枚举方法是否保持元素的相对顺序?

c# - 在列表中选择不同的两个属性

c# - 如何在.net core 中记录未处理的异常

c# - 无法查询行键设置为 GUID 的项目?

c# - 为层次结构中的实体获取父级

c# - 使用 LINQ 表达式创建树

c# - 当条件为真时,LINQ to 对象是否停止处理 Any()?