Мне нужно объединить три словарные коллекции, если ключ один и тот же, я хочу добавить значение.
Result is like
One - 5+5 =10
two - 10+20=30
three - 7
four - 2
five - 8
six - 2
Dictionary<string, int> d1 = new Dictionary<string, int>();
d1.Add("one", 5);
d1.Add("two", 10);
d1.Add("three", 7);
Dictionary<string, int> d2 = new Dictionary<string, int>();
d2.Add("four", 2);
d2.Add("two", 20);
d2.Add("five", 8);
Dictionary<string, int> d3 = new Dictionary<string, int>();
d3.Add("one", 5);
d3.Add("six", 2);
Union: игнорировать соответствующий набор результатов.
var uQuery = (из a в d1 выберите a) .Union (из b в d2 выберите b) .GroupBy (grp => grp.Key);