 <p>If you are able to use LINQ,</p> <pre><code> void Main() { Dictionary d1 = new Dictionary&lt;int, string&gt;(); Dictionary d2 = new Dictionary&lt;int, string&gt;(); d1.Add(1, "1"); d1.Add(2, "2"); d1.Add(3, "3"); d2.Add(2, "2"); d2.Add(1, "1"); d2.Add(3, "3"); Console.WriteLine(d1.Keys.Except(d2.Keys).ToArray().Length); } </code> </pre> <p>This prints 0 to the console. Except tries to find the difference between two lists in the above example. </p> <p>You can compare this with 0 to find if there is any difference.</p> <p>EDIT: You could add the check for comparing the length of 2 dictionaries before doing this.<br> i.e. You can use Except, <strong><em>only</em></strong> if the length differs.</p>