title: C# polymorphism simple question
body: <p>I got a class X and a class Y, the latter which derives from X :</p>
  
  <pre><code>class x {}
  class y : x {}
  </code></pre>
  
  <p>Then somewhere I am using a list of X :</p>
  
  <pre><code>List&lt;X&gt; lstX;
  ...
  </code></pre>
  
  <p>Then I'd like to use a new list of Y, from the data in my other list...something along those lines :</p>
  
  <pre><code>List&lt;Y&gt; lstY = lstX;
  </code></pre>
  
  <p>I would believe that the items in the list of X would get converted automatically into Y, but thats not the case.</p>
  
  <p>Also, how could I initialize a new instance of Y, from a certain X? I would like to do :</p>
  
  <pre><code>var newX = new X();
  var newY = new Y(X);
  </code></pre>
  
  <p>but it does not seem to work like that.</p>
  
  <p>Thanks for your help!
  and sorry for formatting, trying my best</p>