我是C#的新手,我想将一个属性的值复制到另一个属性。以下是我写的示例代码:
SaveCopy()
我正在编写intArray
函数来保存int1
和{{1}}的值。我明白使用" ="引用原始属性,一旦原始属性的值发生变化,副本也会发生变化。如何制作与原始属性不同的副本?
答案 0 :(得分:6)
原始属性的值更改后,副本也会更改 变化
谈论reference types时就是这种情况。例如,int
,value type,将在分配给新变量时创建自己的副本。
例如,在处理数组以外的各种引用类型时,需要实现一个"深度克隆"机制。有一个很好的问题描述了如何在SO上做到这一点:Deep cloning objects
对于int[]
,您可以使用Array.Copy
:
public void Copy()
{
Array.Copy(sourceArray, destArray, sourceArray.Length);
}