【发布时间】:2023-04-02 05:02:01
【问题描述】:
我有(由于某些原因现在不进入......)以下结构的列表:
List1<Dictionary1<string, List2<Dictionary2<string, string>>>>
(为了清楚起见,我添加了 1 和 2 的命名)。
我想遍历List1并总结Dictionary1,这样Dictionary2中相同键的所有值都会相加。
例如,如果每个 Dictionary1 项目包含一个 Dictionary2:
{ "价格", 23},
{ "客户", 3}
然后我想遍历所有 List2 元素和所有 List1 元素,并将所有价格和客户总和的最终字典作为每个类别的单个键:
{“价格”,15235},
{“客户”,236}
我希望这很清楚.. 换句话说,我想总结这个双重嵌套列表,让我留下所有嵌套字典中的所有唯一键,并对值进行总结。
我相信它可以用 LINQ 完成,但我不知道该怎么做..
【问题讨论】:
-
为什么是第二种类型的“Dictionary2”字符串,而不是double或其他数字类型?
-
Dictionary1 的意义何在?如果我没看错的话,我看不到那个键被使用了吗?
-
你需要一些更好的样本数据,和你预期的结果,这有点混乱
-
子列表的深度是多少,2?
-
仅供参考,“(为了清楚起见,我添加了 1 和 2 命名)” 在类型名称的末尾添加数字并不能说明问题,实际上恰恰相反。相反,发布可编译的代码可能是确保清晰的最佳方式:
var data = new List<Dictionary<string, List<Dictionary<string, int>>>>();。请添加一个实际填充列表中某些项目的代码片段,然后说明预期结果应该是什么。
标签: c# list linq dictionary nested