我有一个声明如下的通用列表:
List<Dictionary<string, int>> sales;
字符串将是产品名称,int是销售的单位数。我想按产品名称分组并总计销售总额。所以我可以看到每种产品的销售量。
我如何使用linq?
谢谢!
答案 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