我有这样一个类:创建一个新的类实例
Public Class Dog{
public Dog(string name, int age){
Name = name;
Age = age;
}
public string Name { get; set; }
public int Age { get; set; }
}
然后,我创建这个类
Dog jake = new Dog("Jake", 3);
的一个实例,当我试图复制类和改变像
Dog buster = jake;
buster.Name = "Buster";
它的属性我这样做的时候,杰克的名称将改变过
我该如何避免这种情况?
请注意,我正在使用的类包含如此多的属性,如果我可以复制类并更改我想要的一个属性,它将使我更容易。
看到这里http://stackoverflow.com/questions/78536/deep-cloning-objects。现在,您只是将*引用*复制到对象,这就是为什么更改该对象的属性同时改变两个对象的原因。他们指的是同一个对象。 –
在C++中拷贝一个变量。不在C#http://www.albahari.com/valuevsreftypes.aspx –