title: How Does List<T>.Contains() Find Matching Items?
body: <p>I have a list of car objects</p>
  
  <pre><code> List&lt;Car&gt; cars = GetMyListOfCars();
  </code></pre>
  
  <p>and i want to see if a car is in the list</p>
  
  <pre><code>if (cars.Contains(myCar))
  {
  }
  </code></pre>
  
  <p>what does Contains use to figure out if myCar is in the list.  Does it do a "ToString()" on my car object.  Does it use the Equals() method, the gethashcode()?</p>
  
  <p>I see i can pass in my own IEqualityComparer to force my own implementation but just wanted to understand what it does by default.</p>