title: Generating a new instance of a List in C#
body: <p>I have a problem with using C#, if I initialize a certain list, lets say <code>List&lt;T&gt; exampleList</code> using another pre-existing list, lets say <strong>toModify</strong> like this: <code>List&lt;T&gt; exampleList = new List&lt;T&gt;(toModify)</code>. When I later modify <strong>toModify</strong> list the newly created list also modifies itself. If it passes the value by reference shouldn't the value of <strong>exampleList</strong> stay the same since it was generated from the other one?</p>
  
  <p>TLDR: Value of a list I initialize using another list(second list) changes when I change the second list. I come from a Java background and can't understand why this happens. Will I always have to use clone?</p>