【发布时间】:2018-11-14 21:25:21
【问题描述】:
假设我有两个变量,它们的类型都是Dictionary<int, int>。
Dictionary<int, int> d1 = new Dictionary<int, int> { ... };
Dictionary<int, int> d2 = new Dictionary<int, int> { ... };
两个字典可能包含相同的键。
我希望它们合并成一个 Dictionary<int, int> combinedDictionary。
有什么优雅的方法可以做到这一点?
我尝试了以下方法:
var combinedDictionary = d1.Concat(d2.Where(x => !d1.Keys.Contains(x.Key)));
但不幸的是,当尝试返回这个组合变量时,我收到以下错误:
无法将表达式类型“System.Collections.Generic.IEnumerable>”转换为返回类型“System.Collections.Generic.Dictionary”。
这样可以安全施放吗?
return (Dictionary<int, int>) combinedDictionary;
提前致谢!
【问题讨论】:
-
当然,有很多代码可以合并字典。这些示例并不能解释为什么这种方法不起作用。
标签: c# .net dictionary