title: Is there a complete IEquatable implementation reference?
body: <p>Many of my questions here on SO concerns IEquatable implementation. I found it being extremely difficult to implement correctly, because there are many hidden bugs in the naïve implementation, and the articles I found about it are quite incomplete. I want to find or write a definitive reference which must include:</p>
  
  <ul>
  <li>How to implement IEquatable correctly</li>
  <li>How to override Equals correctly</li>
  <li>How to override GetHashCode correctly</li>
  <li>How to implement the ToString method correctly</li>
  <li>How to implement the operator == correctly</li>
  <li>How to implement the operator != correctly</li>
  </ul>
  
  <p>Such a complete reference already exists?</p>
  
  <p>PS: Even <a href="http://msdn.microsoft.com/en-us/library/ms131190.aspx" rel="noreferrer">MSDN reference</a> seems flawed to me</p>