在<List <Dictionary <string,int >>中使用Linq的总和金额

Pet*_*ete 2 linq

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

List<Dictionary<string, int>> sales;
Run Code Online (Sandbox Code Playgroud)

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

我怎么用linq做这个?

谢谢!

Mar*_*ers 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
Run Code Online (Sandbox Code Playgroud)