title: C# preventing Collection Was Modified exception
body: <p>Does </p>
  
  <pre><code> foreach(T value in new List&lt;T&gt;(oldList) )
  </code></pre>
  
  <p>is dangerous (costly) when oldList contains 1 millions of object T ? </p>
  
  <p>More generaly what is the best way to enumerate over oldList given that elements can be added/removed during the enumeration...</p>