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
版权声明:本文博主原创文章。博客,未经同意不得转载。
C# 几种方法来复制的阵列的更多相关文章
- js刷新页面有哪几种方法
js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...
- C++标准程序库的输入输出流(I/O Stream)复制文件(4种方法)
使用C++标准程序库的输入输出流(I/O Stream)复制文件,存在许多的方法, 方法一:逐个字符复制#include < fstream > std::ifstream ...
- ubuntu在终端下复制粘贴的2种方法
最近因为项目需要在ubuntu环境下开发(我是用的unbantu虚拟环境),经常要在终端下手动输入很长的文件路径,觉得很麻烦,就谷歌了2种方法如下 你可能会问,什么是ubuntu? 简单来说就是一个基 ...
- mysql 复制表数据,表结构的3种方法
什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的 ...
- JavaScript 复制变量的三种方法
参考:Copying Objects in JavaScript - Orinami Olatunji(@orinamio_) October 23, 2017 直接将一个变量赋给另一个变量时, ...
- OC动态创建的问题变量数组.有数组,在阵列13要素,第一个数据包阵列,每3元素为一组,分成若干组,这些数据包的统一管理。最后,一个数组.(要动态地创建一个数组).两种方法
<span style="font-size:24px;">//////第一种方法 // NSMutableArray *arr = [NSMutable ...
- 比较C#中几种常见的复制字节数组方法的效率
在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadBytes,Buffe ...
- python excel操作单元格复制和读取的两种方法
操作单元格 新建一个sheet, 单元格赋值(两种方法) 单元格A1赋值为’xiaxiaoxu’ 单元格A2赋值为‘xufengchai’ 打印A1和A2单元格的值(两种方法) #coding=utf ...
- 比较C#中几种常见的复制字节数组方法的效率[转]
[原文链接] 在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadByte ...
随机推荐
- pdftk的使用介绍
首先像下面的一页pdf,如果想把它分成两页,每一页只是一个ppt页面(为了在kindle里读比较方便), 那么可以首先用A-pdf page cut, 将pdf 切成这样12个部分 然后我们现在要的只 ...
- Linux实现字符设备驱动的基础步骤
Linux应用层想要操作kernel层的API,比方想操作相关GPIO或寄存器,能够通过写一个字符设备驱动来实现. 1.先在rootfs中的 /dev/ 下生成一个字符设备.注意主设备号 和 从设备号 ...
- NET之全平台一体化
NET之全平台一体化的体验 一.前言 近来利用空闲时间研究了一下Xamarin的技术,想想既然提供了如此好的支持,就该尝试一切可能,来一个”大小通吃“. 何为全平台:APP包括Android.IOS. ...
- Oracle 调用存储过程执行CRUD的小DEMO
-----------------------------修改(表名,主键ID,要修改的列) create or replace procedure pro_code_edit(p_tbname in ...
- 在Activity中为什么要用managedQuery()
刚開始接触android的时候,每次用数据库都会犹豫使用哪种方式,一种是getContentResolver().query(...),还有一种是managedQuery(...),后来习惯了使用前一 ...
- poj3126(bfs)
题目链接:http://poj.org/problem?id=3126 题意:给两个四位数n,m,将n变成m需要多少步,要求每次只能改变n的某一位数,即改变后的数与改变前的数只有一位不同,且每次改变后 ...
- 32位Linux文件限制大小
线上程序不断重新启动,查看log发现是进程由于SIGXFSZ信号退出.对过大的文件进行操作的时候会产生此信号,一般仅仅在32位机器上出现,文件限制大小为2G.用lsof查看进程打开的文件,果然有一个文 ...
- 使用jquery+一般处理程序异步载入信息
需求:有时候.web界面对性能要求比較高.我们就不考虑使用asp.net控件.而是使用html标签+jquery+一般处理程序来进行异步处理. watermark/2/text/aHR0cDovL2J ...
- xcode target
A target specifies a product to build and contains the instructions for building the product from a ...
- Python使用MySQLdb操作MySQL
import MySQLdb,sys try: conn=MySQLdb.connect(host=,user=',db='db1') except Exception,e: print e sys. ...