重複の可能性:
C# での辞書のマージ
辞書 1
「a」、「1」、
「b」、「2」
辞書 2
「c」、「3」、
「d」、「4」
辞書 3
「え」、「5」、
「ふ」、「6」
複合辞書
「a」、「1」、
「b」、「2」、
「c」、「3」
、「d」、「4」
、「e」、「5」
、「f」、「6」
上記の 3 つの辞書を 1 つの結合辞書に結合するにはどうすればよいですか?
重複の可能性:
C# での辞書のマージ
辞書 1
「a」、「1」、
「b」、「2」
辞書 2
「c」、「3」、
「d」、「4」
辞書 3
「え」、「5」、
「ふ」、「6」
複合辞書
「a」、「1」、
「b」、「2」、
「c」、「3」
、「d」、「4」
、「e」、「5」
、「f」、「6」
上記の 3 つの辞書を 1 つの結合辞書に結合するにはどうすればよいですか?
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);
それらをループするだけです:
var result = new Dictionary<string, string>();
foreach (var dict in dictionariesToCombine) {
foreach (var item in dict) {
result.Add(item.Key, item.Value);
}
}
(たとえば、配列を結合する辞書のdictionariesToCombine
一部であると仮定します。)IEnumerable