在<list <dictionary <string,int =“”>&gt; </list <dictionary <string,>中使用Linq的总和金额

时间:2010-10-21 13:00:48

标签: linq

我有一个声明如下的通用列表:

List<Dictionary<string, int>> sales;

字符串将是产品名称,int是销售的单位数。我想按产品名称分组并总计销售总额。所以我可以看到每种产品的销售量。

我如何使用linq?

谢谢!

1 个答案:

答案 0 :(得分:10)

这将为您提供结果作为字典,其中键是产品名称,值是销售单位的总数。

var result =
    sales.SelectMany(d => d)                        // Flatten the list of dictionaries
         .GroupBy(kvp => kvp.Key, kvp => kvp.Value) // Group the products
         .ToDictionary(g => g.Key, g => g.Sum());   // Sum each group