嵌套字典中的 C# 值总和,其中值是类 Dictionary<string, Dictionary<Int16, CommonData>>

标签 c# .net linq dictionary

我有一个具有以下格式的字典,其中 Value 是一个嵌套字典,其中 value 是一个类。我尝试了各种方法来压平它,但没有希望。我也经历了大部分相关的 SO 问题。但找不到答案。

Dictionary<string, Dictionary<Int16, CommonData>>

通用数据是一个类。

    public class CommonData
    {
        public int Submitted { get; set; }

        public int Delivered { get; set; }

        public int Failed { get; set; }
    }

现在我需要的是根据 CommonData 类中数据的总和对主字典进行排序。我需要在 Values 中对 Submitted + Delivered + Failed 求和,并根据这个求和值对主字典进行排序。

我们如何使用 LINQ 实现这一目标。你能帮我解决这个问题吗?谢谢。

最佳答案

你没有给出一些示例输入/输出,但我认为你正在寻找类似的东西

var result = yourMainDict.OrderBy(x => x.Value.Sum(v => v.Value.Delivered + v.Value.Submitted + v.Value.Failed));

关于嵌套字典中的 C# 值总和,其中值是类 Dictionary<string, Dictionary<Int16, CommonData>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473212/

相关文章:

在 F# 中触发时未调用 C# 事件处理程序

c# - 复杂 PK 的通用 GetById

c# - 查询执行计划 - Where 子句何时执行?

linq - 从泛型方法构造 Linq 表达式

c# - 当前上下文中不存在名称 'HttpUtility' (winform)

c# - TcpListener 和 TcpClient 共享本地端口

javascript - 根据下拉列表项选择更改 mvc 中的 View

c# - 找不到“Newtonsoft”

c# - 如何在 LINQ 中动态创建联接?

c# - 为什么要使用 ActionResult