title: Copy/Clone all values from a List to another in a C#
body: <p>I have a class </p>
  
  <pre><code>public class Car()
  {
      public string Name;
      public string Model;
  }
  </code></pre>
  
  <p>And i have a property </p>
  
  <pre><code>List&lt;Car&gt; CarsA = new List&lt;Car&gt;();
  CarsA.Add(new Car(){Name = "Verna",Model="Hyundai"});
  CarsA.Add(new Car(){Name = "X1",Model="Bmw"});
  </code></pre>
  
  <p>and i have another property </p>
  
  <pre><code>List&lt;Car&gt; CarsB = new List&lt;Car&gt;();
  </code></pre>
  
  <p>Now i want to add clone/copy all the entries from CarsA to CarsB without taking CarsA properties current instances</p>
  
  <p>(i.e. i want to create new object for each entry and add it).</p>
  
  <p>Something like </p>
  
  <pre><code>foreach(var car in CarsA)
  {
      Car newCar =new Car();
      newCar.Name = car.Name;
      newCar.Model = car.Model;
      CarsB.Add(newCar);
  }
  </code></pre>
  
  <p><strong>What if i don't want to implement ICloneable and i don't have a copy contructor?</strong></p>