title: How to get a list of mutable strings?
body: <p>I have the following piece of code</p>
  
  <pre><code>  List&lt;String&gt; l = new List&lt;String&gt;();
    String s = "hello";
    l.Add(s);
    s = "world";
  </code></pre>
  
  <p>When I set up some breakpoints and go through the program, after executing the last line, the value in the list is still <code>hello</code> instead of <code>world</code>.</p>
  
  <p>Shouldn't it equal <code>world</code> ? Isn't a string an object, and am I not just inserting a pointer into the list? Later on if I change the string to point to a different value ("world"), why is my list still referencing the old value?</p>
  
  <p>How can I get my desired effect ?
  Thanks a lot!</p>