Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > C#中数组复制的4种方法
【标  题】:C#中数组复制的4种方法
【关键字】:C#
【来  源】:http://blog.csdn.net/burningcpu/archive/2006/12/07/1434167.aspx

C#中数组复制的4种方法

Your Ad Here  今天旁边的同事MM叫我调了一段程序,她想复制一个数组,int[] pins = {9,3,4,9};int [] alias = pins;这里出了错误,也是错误的根源,以上代码并没有出错,但是根本不是复制,因为pins和alias都是引用,存在于堆栈中,而数据9,3,4,3是一个int对象存在于堆中,int [] alias = pins;只不过是创建另一个引用,alias和pins同时指向{9,3,4,3},当修改其中一个引用的时候,势必影响另一个。复制的意思是新建一个和被复制对象一样的对象,在C#语言中应该有如下4种方法来复制。

    方法一:使用for循环

        int []pins = {9,3,7,2}
        int []copy = new int[pins.length];
        for(int i =0;i!=copy.length;i++)
        {
           copy[i] = pins[i];
         }

    方法二:使用数组对象中的CopyTo()方法

        int []pins = {9,3,7,2}
        int []copy2 = new int[pins.length];
        pins.CopyTo(copy2,0);

    方法三:使用Array类的一个静态方法Copy()

        int []pins = {9,3,7,2}
        int []copy3 = new int[pins.length];
        Array.Copy(pins,copy3,copy.Length);

    方法四:使用Array类中的一个实例方法Clone(),可以一次调用,最方便,但是Clone()方法返回的是一个对象,所以要强制转换成恰当的类类型。

        int []pins = {9,3,7,2}
        int []copy4 = (int [])pins.Clone();

Application and Session In ASP.NET:【上一篇】
C#中的结构和类:【下一篇】
【相关文章】
  • C# VS C++
  • 关于C#发送邮件的一点体会
  • C#贴边自动隐藏组件 By Red_angelX
  • C#之事件体会(一)
  • C#中遍历目录下的目录的文件
  • C#一个象棋游戏程序
  • 在C#中获取文本框中光标所在位置
  • 从小处看C#.net垃圾回收
  • 利用.net(C#)在Vista磨砂玻璃窗口上正确画出文字和图片(GDI+版)
  • 在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组
  • 【随机文章】
  • Perl一些内置常量[收集中]
  • 一个个人网页自动化生成系统(6)
  • Windows程序(2)
  • 狡猾的木马Trojan.Vb.vda
  • 资源
  • java中的事件机制
  • J2ME简明教程( 第三章)
  • [UMU WSH 教程](8)脚本中的脚本
  • tcp/ip
  • 浅谈图形验证码的识别
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.