Fusionar diccionarios en C #

¿Cuál es la mejor manera de combinar 2 o más diccionarios (Dictionary<T1,T2>) Cía#? (3.0 características como LINQ están bien).

Estoy pensando en una firma de método en la línea de:

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries);

o

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries);

EDITAR: Tengo una solución genial de JaredPar y Jon Skeet, pero estaba pensando en algo que maneje claves duplicadas. En caso de colisión, no importa qué valor se guarde en el dict mientras sea coherente.

Respuestas a la pregunta(20)

Su respuesta a la pregunta