Alex Rivera | Logout

Merging 2 dictionaries having duplicate keys with linq

Asked 2011-08-01T19:13:20.407
18

How to merge 2 dictionaries of IDictionary<Guid, MyObject> where MyObject is a class instance?

IDictionary<Guid, MyObject> d1 = new Dictionary<Guid, MyObject>();
d1.Add(guid1, m1);
d1.Add(guid2, m2);
d1.Add(guid3, m3);
IDictionary<Guid, MyObject> d2 = new Dictionary<Guid, MyObject>();
d2.Add(guid2, m2);
d2.Add(guid3, m3);
d2.Add(guid4, m4);
IDictionary<Guid, MyObject> d3 = d1.Union(d2) ???

That in d3 there are the following entries:

guid1,m1
guid2,m2
guid3,m3
guid4,m4
Edit
Report

2 Answers

24
d1.Concat(d2.Where( x=> !d1.Keys.Contains(x.Key)));
answered 2011-08-01T19:20:41.013
0
answered 2011-08-01T19:26:33.733

Your Answer