突然学到了,所以就放到博客上来共享一下,权当是学习日记吧。
首先说明一下,数组是引用类型的,所以注意不要在复制时复制了地址而没有复制数值哦!
其实在复制数组的时候,一定要用new在堆中开辟一块新的空间专门用于存放数组,这样才是有效的。
(1)
1
2
3
4
5
6
7
8
9
10
11
|
int [] pins = { 9, 3, 7, 2 }; int [] copy= new int [pins.length]; for ( int i = 0; i < copy.length; i++) { copy[i] = pins[i]; } |
(2)
1
2
3
|
int [] copy = new int [pins.Length]; pins.CopyTo(copy, 0); |
(3)
1
2
3
|
Int[] pins= new int [4]{9,3,7,2}; Int[] alias=pins; |
注意这种复制只是一种引用而已,只是把数据的地址传递给了alias数组,所以不太推荐这种方式来复制数组;
(4)
1
|
Array.Copy(pins,copy,copy.Length) |
(5)
1
|
Int[] copy=( int [])pins.Clone(); |
这里说明一下为什么要用到int[]的强制类型转换,原因就在于Clone的结果类型是object的,所以需要强制转换为int[]
Object类其实就是我们所有类的基类。
以上这篇C# 拷贝数组的几种方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。