title: Fast lookup of List<T>
body: <p>I have two generic lists. Let's say they are <code>List&lt; A &gt;</code> and <code>List&lt; B &gt;</code>.</p>
  
  <p>Class<code>A</code> has a property, which type is <code>List&lt; B &gt;</code>. This property contains <code>B</code> type objects, which are filtered by some other proerties of object <code>A</code>.</p>
  
  <p>So:</p>
  
  <pre><code>class A{
    public int Something1;
    public int Something2;
    public List&lt;B&gt; Something3;
  }
  
  class B{
    public int Anything1;
    public int Anything2;
  }
  </code></pre>
  
  <p>I'd like to add all object <code>B</code> as a list to object <code>A</code> (to Property called <code>Something3</code>), where let's say object <code>A.Something1 == B.Anything1</code>.</p>
  
  <p>My question is: what is the most efficient way of adding <code>List&lt;B&gt;</code> items to <code>List&lt;A&gt;</code> items? Note, there can be hundreds of thousands of objects in both lists.</p>
  
  <p>(VS2010; C#; .Net4)</p>