楼主对引用类型和值类型还是区分不清,char[] c1=c2之后,对c1和c2任何的修改都会改变原始数据,执行过Array.copy后才会复制的。
而且字符串在C#中已经不是字符数组了,不可以直接Copy的。
如果源地址和目标地址为整型和字符(或其他类型的)进行复制,可以使用ArrayList进行存储。或使用object[]
原因很简单,char[]中每个元素1字节,不可能装得下int[]中的元素!
楼主对引用类型和值类型还是区分不清,char[] c1=c2之后,对c1和c2任何的修改都会改变原始数据,执行过Array.copy后才会复制的。
而且字符串在C#中已经不是字符数组了,不可以直接Copy的。
如果源地址和目标地址为整型和字符(或其他类型的)进行复制,可以使用ArrayList进行存储。或使用object[]
原因很简单,char[]中每个元素1字节,不可能装得下int[]中的元素!
版主所说的我承认,但是,我的初衷是使用Array.copy函数。
msdn上的相关例子是这样定义的:Array myIntArray=Array.CreateInstance( typeof(System.Int32), 5 );
Array myObjArray = Array.CreateInstance( typeof(System.Object), 5 );
Array.Copy( myIntArray, myIntArray.GetLowerBound(0), myObjArray, myObjArray.GetLowerBound(0), 1 );
这个是使用array。copy 从int拷贝至obj数组。 我的理解是 obj数组对copy方法要求没有限制,应该不会有类型转换的问题。
我想请教一下 有没有直接在不同类型数组中copy的方法,例如使用array。copy函数。
并且不是使用 Array myObjArray = Array.CreateInstance( typeof(System.Object), 5 ); 这样定义数组的方法。
数组:int[] i=new int[3];这样的定义的数组之间是否可以 copy?
如果说char[]的元素比较小 ,那么从char[]copy至int[]数组呢?
编译的时候主要是数组类型的问题。
使用array 。copy