title: Is List<T> thread-safe for reading?
body: <p>Is the following pseudocode thread-safe ?</p>
  
  <pre><code>IList&lt;T&gt; dataList = SomeNhibernateRepository.GetData();
  
  Parallel.For(..i..)
  {
      foreach(var item in dataList)
      {
         DoSomething(item);
      }
  }
  </code></pre>
  
  <p>The list never gets changed, it's only iterated and read in parallel. No writing to fields or something like that whatsoever.</p>
  
  <p>Thanks.</p>