title: What .NET collection provides the fastest search
body: <p>I have 60k items that need to be checked against a 20k lookup list. Is there a collection object (like <code>List</code>, <code>HashTable</code>) that provides an exceptionly fast <code>Contains()</code> method? Or will I have to write my own? In otherwords, is the default <code>Contains()</code> method just scan each item or does it use a better search algorithm.</p>
  
  <pre><code>foreach (Record item in LargeCollection)
  {
      if (LookupCollection.Contains(item.Key))
      {
         // Do something
      }
  }
  </code></pre>
  
  <p><strong>Note</strong>. The lookup list is already sorted.</p>