代码如下:
public class MyClass {
public int x = 0;
}
class Program {
static void Main(string[] args) {
MyClass a = new MyClass();
MyClass b = new MyClass();
a.x = 1;
b = a;
b.x = 2;
Console.WriteLine(a.x);
Console.WriteLine(b.x);
Console.ReadKey();
}
}
public class MyClass
->
public static MyClass
b=a是浅复制,b只是复制了a的引用地址,你在进行修改的数据后,a引用了这个数据被修改后的地址所以a.x发生变化,你可以用b.x=a.x进行赋值
重写Object的copy()方法