复制数组使其不受影响c#

时间:2015-04-01 23:56:40

标签: c# arrays copy

我试过了

int[] secondArray = firstArray;

但每当我改变第一个数组时,它会在第二个数组中发生变化,是否有一个函数可以让我改变第一个而不会影响第二个?

感谢。

2 个答案:

答案 0 :(得分:2)

那是因为你的对象是一个"整数数组" firstArray引用哪个。您的赋值语句只增加对象的引用计数

我认为您可能正在寻找的方法是提供firstArray的浅层副本?如果是,请使用clone方法

答案 1 :(得分:2)

正如蒂姆所说,你需要来理解为什么会这样,所以请仔细阅读。 :)

但您可以使用Array.CopyTo method

int[] firstArray = new int[20];
int[] secondArray = new int[20];
firstArray.CopyTo(secondArray, 0);

但你必须确保自己不会溢出第二个数组,否则会引发异常。