use System.Linq; Dict1.Concat(Dict2.Where(d => !Dict1.ContainsKey(d.Key)).ToDictionary(d => d.Key, d => d.Value);
this will make Dict1 contain all dict2 entries. on duplicatekey the Dict2 entry will overwrite the Dict1 entry.