其实我不明白它的概念,这意味着为什么以及何时应该使用它。通常情况下,我们可以将值分配到一个类的实例,但是,为什么我们要发送对象,以这样的另一个对象:什么是复制构造函数,什么时候应该在C#中使用?
private void button8_Click(object sender, EventArgs e)
{
rectangle r1 = new rectangle(50, 70);
rectangle r2 = new rectangle(r1);
}
class rectangle
{
private int length;
private int breadth;
public rectangle(rectangle x)
{
length = x.length;
breadth = x.breadth;
MessageBox.Show("I'm a Copy Constructor. \n Length= " + length.ToString() + "\n breadth= " + breadth.ToString());
}
}
这是一个复制矩形的简单方法。从外面看,这是不可能的,因为你的财产是私人的。你也可以修改你的矩形或类似的东西。 – Fruchtzwerg
那么,我可能已经看到它在某些库中使用,但这在C#中并不常见。复制构造函数是C++编程的明显基石,但在C#中,它们只不过是组织[深层克隆]的奇特(但是正确的)方式(http://stackoverflow.com/questions/129389/how-do-you-做一个深度复制的对象在网络c具体)(至少是我期望从它)。 –