C# 拷贝数组的几种方式

突然接触到,所以就写一下共享。

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

其实在复制数组的时候,一定要用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];

     }

(2)

          int[] copy = new int[pins.Length];

         pins.CopyTo(copy, 0);

(3)  

      Int[] pins= new int[4]{9,3,7,2};

      Int[] alias=pins;

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

(4)

      Array.Copy(pins,copy,copy.Length)

(5)

      Int[] copy=(int[])pins.Clone();

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

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


欢迎交流 http://blog.csdn.net/ycwol/article/details/40151575

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值