我试过了
int[] secondArray = firstArray;
但每当我改变第一个数组时,它会在第二个数组中发生变化,是否有一个函数可以让我改变第一个而不会影响第二个?
感谢。
答案 0 :(得分:2)
那是因为你的对象是一个"整数数组" firstArray引用哪个。您的赋值语句只增加对象的引用计数
我认为您可能正在寻找的方法是提供firstArray的浅层副本?如果是,请使用clone方法
答案 1 :(得分:2)
正如蒂姆所说,你需要来理解为什么会这样,所以请仔细阅读。 :)
但您可以使用Array.CopyTo method:
int[] firstArray = new int[20];
int[] secondArray = new int[20];
firstArray.CopyTo(secondArray, 0);
但你必须确保自己不会溢出第二个数组,否则会引发异常。