title: Equals method of System.Collections.Generic.List<T>...?
body: <p>I'm creating a class that derives from List...</p>
  
  <blockquote>
    <p><code>public class MyList : List&lt;MyListItem&gt; {}</code></p>
  </blockquote>
  
  <p>I've overridden Equals of MyListItem...</p>
  
  <pre><code>public override bool Equals(object obj)
  {
      MyListItem li = obj as MyListItem;
      return (ID == li.ID);  // ID is a property of MyListItem
  }
  </code></pre>
  
  <p>I would like to have an Equals method in the MyList object too which will compare each item in the list, calling Equals() on each MyListItem object.</p>
  
  <p>It would be nice to simply call...</p>
  
  <pre><code>MyList l1 = new MyList() { new MyListItem(1), new MyListItem(2) };
  MyList l2 = new MyList() { new MyListItem(1), new MyListItem(2) };
  
  if (l1 == l2)
  {
      ...
  }
  </code></pre>
  
  <p>...and have the comparisons of the list done by value.</p>
  
  <p>What's the best way...?</p>