Слияние словарей в C #
Какой лучший способ объединить 2 или более словарей (Dictionary<T1,T2>
) в C #? (3.0 функции, такие как LINQ, в порядке).
Я думаю о сигнатуре метода в соответствии с:
public static Dictionary<TKey,TValue>
Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries);
или же
public static Dictionary<TKey,TValue>
Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries);
РЕДАКТИРОВАТЬ: Получил классное решение от JaredPar и Jon Skeet, но я думал о чем-то, что обрабатывает дубликаты ключей. В случае коллизии не имеет значения, какое значение сохранено в dict, если оно согласовано.