【问题标题】:Sum amount using Linq in <List<Dictionary<string, int>>在 <List<Dictionary<string, int>> 中使用 Linq 求和金额
【发布时间】:2010-10-21 21:07:54
【问题描述】:

我有一个这样声明的通用列表:

List<Dictionary<string, int>> sales;

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

我将如何使用 linq 做到这一点?

谢谢!

【问题讨论】:

    标签: linq


    【解决方案1】:

    这将为您提供字典形式的结果,其中键是产品名称,值是售出的总数量。

    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
    

    【讨论】:

    • 编译错误:System.Collections.Generic.List>' 不包含 'SelectMany' 的定义
    • @Pete:确保文件顶部有using System.Linq;。您正在使用.NET 3.5,对吗?因为它不能在旧版本的 .NET 中工作...... LINQ 是在 .NET 3.5 中添加的。
    猜你喜欢
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    相关资源
    最近更新 更多