title: == vs. Object.Equals(object) in .NET
body: <p>So, when I was a comparative novice to the novice I am right now, I used to think that these two things were syntactic sugar for each other, i.e. that using one over the other was simply a personal preference. Over time, I'm come to find that these two are not the same thing, even in a default implementation (see <a href="http://web.archive.org/web/20081205081158/http://blogs.msdn.com:80/jmstall/archive/2005/03/06/386064.aspx" rel="nofollow noreferrer">this</a> and <a href="http://web.archive.org/web/20090710210823/http://blogs.msdn.com:80/jmstall/archive/2005/03/12/394645.aspx" rel="nofollow noreferrer">this</a>). To further confuse the matter, each can be overridden/overloaded separately to have completely different meanings. </p>
  
  <p>Is this a good thing, what are the differences, and when/why should you use one over the other?</p>