日期:2014-05-19  浏览次数:20928 次

怎样给类赋值?
自己写了一个类,然后定义了这个类的一个变量a,并将这个类里的成员都赋了值,然后我定义了另外一个这个类的变量b,现在我想把a里面的值赋给b.而不是把a的引用给b,怎么实现?难道真的还要自己写一个Clone函数?

Class   C1
{
    .......
}
C1   a=new   C1();
在这里给a赋值.
C1   b=new   C1();
在这里怎么样把a的值赋给b?而不是引用.因为好象直接用b=a的话,b只是对a所对应的值的引用.一旦a里的值改了的话,b里的值也变了.

------解决方案--------------------
你要自己定义一个Copy或Clone的方法来实现对象间的复制.像C++里的复制构造函数一样的功能只能是在C#里自己来用方法做相似的操作.
------解决方案--------------------
实现ICloeable
public class C1:ICloneable
{
public object Clone
{
....
}
}
C1 a= new C1();
C1 b = a.Clone()