字典1
“a”,“1”
“b”,“2”
字典2
“c”,“3”
“d”,“4”
字典3
“e”,“5”
“f”,“6”
组合词典
“a”,“1”
“b”,“2”
“c”,“3”
“d”,“4”
“e”,“5”
“f”,“6”
如何将上述3个词典合并为一个组合词典?
答案 0 :(得分:117)
var d1 = new Dictionary<string, int>();
var d2 = new Dictionary<string, int>();
var d3 = new Dictionary<string, int>();
var result = d1.Union(d2).Union(d3).ToDictionary (k => k.Key, v => v.Value);
修改强>
确保不使用重复密钥:
var result = d1.Concat(d2).Concat(d3).GroupBy(d => d.Key)
.ToDictionary (d => d.Key, d => d.First().Value);
答案 1 :(得分:10)
只需循环播放:
var result = new Dictionary<string, string>();
foreach (var dict in dictionariesToCombine) {
foreach (var item in dict) {
result.Add(item.Key, item.Value);
}
}
(假设dictionariesToCombine
是您词典的IEnumerable
个词组合,例如,数组。)