Слияние словарей в 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, если оно согласовано.

Ответы на вопрос(20)

Ваш ответ на вопрос