【发布时间】:2013-01-28 21:05:09
【问题描述】:
这有点与这个问题有关,关于如何在 C# 中合并两个字典。提出了一个优雅的 Linq 解决方案,很酷。
然而,这个问题与Dictionary<Object1, Object2> 相关,而我有一本字典,其中的值为Dictionary<string, Object>。
我正在寻找合并两个Dictionary<string, Dictionary<string, Object>> 的解决方案,具有以下要求:
- 两个字典的字典结果中没有重复键,
-
对于每个字典,我认为按 KEY 分组可以成为解决方案的一部分,但在 ...
internal static Dictionary<string, Dictionary<string, object>> OperationDic(Dictionary<string, Dictionary<string, object>> a, Dictionary<string, Dictionary<string, object>> b, string operation)` { switch (operation) { case "+": var result = a.Concat(b).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.First().Value); return result; default: throw new Exception("Fail ..."); } }
【问题讨论】:
-
我已经被卡住了,我尝试了任何方法,但我仍在寻找
-
请向我们展示您的尝试,以便我们对其进行扩展。
-
@Ks_Hamza:你应该使用
ToLookup而不是ToDictionary。 -
@Ks_Hamza:
a.Concat(b).ToLookup(c => c.Key, c => c.Value)(我认为)
标签: c# dictionary merge