字典1
「一」, 「1」
「B」,「 2「
字典2
「C」, 「3」
「d」, 「4」
字典3
「E」, 「5」
「f」,「6」
組合字典
「一」, 「1」
「B」, 「2」
「C」, 「3」
「d」, 「4」
「E」, 「5」
「F」, 「6」
怎樣上述3個詞典合併成一個單一的組合字典?
字典1
「一」, 「1」
「B」,「 2「
字典2
「C」, 「3」
「d」, 「4」
字典3
「E」, 「5」
「f」,「6」
組合字典
「一」, 「1」
「B」, 「2」
「C」, 「3」
「d」, 「4」
「E」, 「5」
「F」, 「6」
怎樣上述3個詞典合併成一個單一的組合字典?
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
結合起來,比方說,一個陣列。)
如果您的鍵具有不同的值,會發生什麼? –
Sani..I創建了一個類級別的私有變量,然後每次調用另一個私有方法1字典將它們添加到組合方法中。它看起來並不乾淨,所以我在這裏要求更好的方法。 –
你可以展示你的代碼中目前代表的字典嗎? – EtherDragon