如何在同一个对象中将值从一个属性复制到另一个属性?

时间:2015-12-03 10:02:06

标签: c#

我是C#的新手,我想将一个属性的值复制到另一个属性。以下是我写的示例代码:

SaveCopy()

我正在编写intArray函数来保存int1和{{1}}的值。我明白使用" ="引用原始属性,一旦原始属性的值发生变化,副本也会发生变化。如何制作与原始属性不同的副本?

1 个答案:

答案 0 :(得分:6)

  

原始属性的值更改后,副本也会更改   变化

谈论reference types时就是这种情况。例如,intvalue type,将在分配给新变量时创建自己的副本。

例如,在处理数组以外的各种引用类型时,需要实现一个"深度克隆"机制。有一个很好的问题描述了如何在SO上做到这一点:Deep cloning objects

对于int[],您可以使用Array.Copy

public void Copy()
{
    Array.Copy(sourceArray, destArray, sourceArray.Length);
}