Make an independent duplication of a List<T>
<p>I make two List&lt; Test> called <strong>listA</strong> and <strong>listB</strong>.
I save a peace of data in <strong>listA</strong>.
I copy the data from <strong>listA</strong> to <strong>listB</strong>.
I change the data in <strong>listB</strong>.
When I change the data in <strong>listB</strong> it also changes in <strong>listA</strong> – is it posible to avoid this?</p>

<p>I hope you can help me out there :o)</p>

<pre><code>public class Test
{
    public string Name { get; set; }
}

static void Test()
    {
        List&lt;Test&gt; listA = new List&lt;Test&gt;();
        List&lt;Test&gt; listB = new List&lt;Test&gt;();

        listA.Add(new Test { Name = "A" });
        listB.AddRange(listA);

        //I change the data in listB and the data in listA also get changed. 
        listB.First().Name = "B";
        Console.WriteLine("listA: {0} listB: {1}", listA.First().Name, listB.First().Name);

        //Can I avoid the change of data in listA?
    }
</code></pre>
