C# 拷贝数组的几种方法

高洛峰
Lepaskan: 2017-01-19 13:35:43
asal
1456 orang telah melayarinya

突然学到了,所以就放到博客上来共享一下,权当是学习日记吧。

首先说明一下,数组是引用类型的,所以注意不要在复制时复制了地址而没有复制数值哦!

其实在复制数组的时候,一定要用new在堆中开辟一块新的空间专门用于存放数组,这样才是有效的。

(1)

int[] pins = { 9, 3, 7, 2 };
 
int[] copy=new int[pins.length];
 
     for (int i = 0; i < copy.length; i++)
 
     {
 
       copy[i] = pins[i];
 
   }
Salin selepas log masuk

(2)

int[] copy = new int[pins.Length];
 
pins.CopyTo(copy, 0);
Salin selepas log masuk

(3)

Int[] pins= new int[4]{9,3,7,2};
 
Int[] alias=pins;
Salin selepas log masuk

注意这种复制只是一种引用而已,只是把数据的地址传递给了alias数组,所以不太推荐这种方式来复制数组;

(4)

Array.Copy(pins,copy,copy.Length)
Salin selepas log masuk

(5)

Int[] copy=(int[])pins.Clone();
Salin selepas log masuk

这里说明一下为什么要用到int[]的强制类型转换,原因就在于Clone的结果类型是object的,所以需要强制转换为int[]

Object类其实就是我们所有类的基类。

以上这篇C# 拷贝数组的几种方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。

更多C# 拷贝数组的几种方法相关文章请关注PHP中文网!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan