Why doesn't this if statement ever get hit?
<pre><code>foreach (Dictionary&lt;string, object&gt; dictionary in listOfDictionaries)
{
    if( object.Equals(dictionary, listOfDictionaries.Last() )
    {
        //Do something on last iteration of foreach loop.
    }
}
</code></pre>

<p>I realized fairly soon on that I wanted a reference equals, but it still brought up the question of how this code could not be hit. Does object.Equals not implicitly know how to compare two Dictionaries, and thus returns not equal?</p>
