Merging Dictonaries in C# using LINQ
<p>i've three Dictonaries like</p>

<pre><code>Dictionary&lt;int,List&lt;string&gt;&gt; D1 = new Dictionary&lt;int,List&lt;string&gt;&gt;(); 
Dictionary&lt;int,List&lt;string&gt;&gt; D2= new Dictionary&lt;int,List&lt;string&gt;&gt;(); 
Dictionary&lt;int,List&lt;string&gt;&gt; D3 new Dictionary&lt;int,List&lt;string&gt;&gt;(); 


D1[1] = new List&lt;string&gt;{"a","b"}; 
D1[2] = new List&lt;string&gt;{"c","d"}; 
D1[3] = new List&lt;string&gt;{"e","f"}; 
D1[4] = new List&lt;string&gt;{"h"}; 

D2[1] = new List&lt;string&gt;{"a","b"}; 
D2[2] = new List&lt;string&gt;{"c","d"}; 
D2[3] = new List&lt;string&gt;{"e","f"}; 
D2[4] = new List&lt;string&gt;{"g"}; 
D2[5] = new List&lt;string&gt;{"b","h"}; 
D2[6] = new List&lt;string&gt;{"f","l"}; 
D2[7] = new List&lt;string&gt;{"z"}; 
</code></pre>

<p>i need to merge the two dictonary into a single dictonary</p>

<p>like</p>

<pre><code>D3[1] = {"a","b","h"} 
D3[2] = {"c","d"} 
D3[3] = {"e","f","l"} 
</code></pre>

<p>Merging Rule:</p>

<p>D1[1]={"a","b"} this list will be compared with the values in the D2</p>

<p>D2[1]={"a","b"}</p>

<p>D2[5]={"b","h"}</p>

<p>so the above three will be merged into</p>

<p>D3[1]={"a","b","h"}</p>

<p>is there any idea to do this using LINQ</p>
