c#两个类之间能直接赋值吗?

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:15:43
同一个类实例化了两次,分别为a,b。
那么能不能直接a=b,这样赋值。
就是不用一个个属性的赋值,那样太多了。
告诉个实现方法,谢谢了。
说说怎么clone?顺便我先查查帮助

能是能,不过类是引用类型,那样赋值是把b的地址给a,他们会指向同一个地址,所以以后你若改变a的属性,b的属性也会改变,引用类型包括类,接口,数组,值类型包括基本数据类型,枚举,结构

可以赋值,要在类里定义Clone函数

a=b就赋值指针了,就不是说的那样了,用clone,如a=b.clone();,就是将b的内容复制到a,这个方法是继承自object的,因此所有类都会有

http://msdn.microsoft.com/zh-cn/library/system.object_members.aspx
Object 成员

没有看见有现成的clone
那就是要自定义一个在类里了
class a
{
private int k;
public int K
{
get { return k; }
set { k = value; }
}
public a()
{
k = 0;
}
public a Clone()
{
a A = new a();
A.K = this.K;
return A;
}
}

a A = new a();
a B = A.Clone();

学习

可以,