由于数组是引用类型,因此用 array1 = array2的方式赋值,会使array1和array2指向同一内存空间,改变array1和array2的元素都是对同一内存空间进行修改。

然而我们很多时候想要的是复制的效果,仅希望array1的元素跟array2一样,那我们可以用一个循环一个个使array1[i] = array2[i]。

或者用CopyTo方法进行复制:

array2.CopyTo(array1, 0);  //将array2数组的全部内容复制到array1,从array1的第0号元素开始插入。

 

顺便说一下string的传递方式

string也是引用类型,但string赋值时会自动创建一个新的空间。

如:string A = ‘”123”;

     string B = A;

这时B的地址与A的地址是不一样的,编译器自动创建了一个新的空间给B,并将A的内容复制到B的空间。这与数组单纯的引用传递方式不太一样,是string特别的地方。

posted on 2012-02-12 22:22  DeepSky_  阅读(3767)  评论(0编辑  收藏  举报