【发布时间】:2013-01-13 12:51:26
【问题描述】:
我创建了两个 List
我希望你能帮助我:o)
public class Test
{
public string Name { get; set; }
}
static void Test()
{
List<Test> listA = new List<Test>();
List<Test> listB = new List<Test>();
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?
}
【问题讨论】:
-
将类 Test 更改为 Struct Test 看看会发生什么
-
你这里有一个误解。不管
List实例不同,它们包含的Test实例都是相同的,因此如果您更改Test实例中的某些内容,无论您通过哪个List实例访问它,它都会被更改。
标签: c#