title: Array.IndexOf: Equals & CompareTo
body: <p>In this <a href="http://msdn.microsoft.com/en-us/library/7eddebat.aspx" rel="nofollow noreferrer">MSDN article</a>, it says that </p>
  
  <blockquote>
    <p>In the .NET Framework version 2.0, this method uses the  <strong>Equals and  CompareTo methods of the  Array</strong> to determine whether the  Object specified by the value parameter exists. In the <em>earlier</em> versions of the .NET Framework, this determination was made by using the  Equals and  CompareTo methods of the value  <em>Object</em> itself.</p>
  </blockquote>
  
  <p>What exactly does this mean?  From what I can tell using Reflector, Array.IndexOf still uses the equals method of the object to determine the index of the object in the array:</p>
  
  <pre><code>for (int j = startIndex; j &lt; num3; j++)
  {
      object obj2 = objArray[j];
      if ((obj2 != null) &amp;&amp; obj2.Equals(value))
      {
          return j;
      }
  }
  </code></pre>
  
  <p>This <em>is</em> what I expected, but I'm a little confused by the <strong>MSDN Remark</strong>.</p>