Array.Copy(sourceArray,targetArray,length);
Buffer.BlockCopy(sourceArray,startInSource,targetArray,startInTarget,Length);
长度为sourceArray.Length
还是sourceArray.Length * sizeof(type)
?
其中type是sourceArray
中元素的类型,例如当源数组是整数时为int。
我在使用sourceArray.Length
时获得了预期的结果,但我看到使用sourceArray.Length * sizeof(type)
的无数个例子。我错过了什么?
答案 0 :(得分:1)
在Buffer.BlockCopy
中,最后一个参数为count
,它代表要复制的字节数。
但Array.Copy中的最后一个参数是:
length,类型:System.Int32:一个32位整数,表示数字 要复制的元素。
因此,如果您想使用sourceArray
将整个destinationArray
复制到Array.Copy
,则应使用sourceArray.Length
,如果必须使用Buffer.BlockCopy
,请使用{ {1}}。