Объединение нескольких словарей в один словарь - программирование
Подтвердить что ты не робот

Объединение нескольких словарей в один словарь

Возможный дубликат:
Слияние словарей на С#

словарь 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 словаря в один комбинированный словарь?

4b9b3361

Ответ 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);

Ответ 2

Просто проведите через них:

var result = new Dictionary<string, string>();

foreach (var dict in dictionariesToCombine) {
    foreach (var item in dict) {
        result.Add(item.Key, item.Value);
    }
}

(Предполагает, что dictionariesToCombine является некоторым IEnumerable ваших словарей, чтобы объединить, скажем, массив).