Linq列出查询C#

时间:2011-11-01 16:51:59

标签: c# linq linq-to-objects

我的软件中有一个具有以下属性的类列表:
名称 - 数量
列表可能包含以下数据:
name1 - 12
name1 - 10
name2 - 10
name2 - 5
我需要这样的输出:
name1 - 22
name2 - 15
我可以使用凌乱的代码(对于每个等等)进行此输出但是如何使用LINQ查询提供此功能?

2 个答案:

答案 0 :(得分:7)

您可以使用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);

答案 1 :(得分:1)

使用Sum and GroupBy然后打印结果。