title: ToList()-- does it create a new list?
body: <p>Let's say I have a class</p>
  
  <pre><code>public class MyObject
  {
     public int SimpleInt{get;set;}
  }
  </code></pre>
  
  <p>And I have a <code>List&lt;MyObject&gt;</code>, and I <code>ToList()</code> it and then change one of the <code>SimpleInt</code>, will my change be propagated back to the original list. In other words, what would be the output of the following method?</p>
  
  <pre><code>public void RunChangeList()
  {
    var objs = new List&lt;MyObject&gt;(){new MyObject(){SimpleInt=0}};
    var whatInt = ChangeToList(objs );
  }
  public int ChangeToList(List&lt;MyObject&gt; objects)
  {
    var objectList = objects.ToList();
    objectList[0].SimpleInt=5;
    return objects[0].SimpleInt;
  
  }
  </code></pre>
  
  <p>Why? </p>
  
  <p>P/S: I'm sorry if it seems obvious to find out. But I don't have compiler with me now...</p>