Combining multiple dictionaries into one
本问题已经有最佳答案,请猛点这里访问。
假设我有两个变量,它们都是
1 2 |
这两个词典可能都包含相同的键。
我希望它们组合成一个单独的
这样做的优雅方式是什么?
我试过以下方法:
1 | var combinedDictionary = d1.Concat(d2.Where(x => !d1.Keys.Contains(x.Key))); |
号
但不幸的是,当尝试返回这个组合变量时,我得到了以下错误:
Cannot convert expression type 'System.Collections.Generic.IEnumerable>' to return type 'System.Collections.Generic.Dictionary'.
号
有没有可能像这样安全地铸造?
1 | return (Dictionary<int, int>) combinedDictionary; |
事先谢谢!
concat返回一个
1 2 | IEnumerable<KeyValuePair<int, int>> combined = d1.Concat(d2.Where(x => !d1.Keys.Contains(x.Key))); Dictionary<int, int> result = combined.ToDictionary(x => x.Key, x => x.Value); |