Array.Copy&的最后一个参数。 Buffer.BlockCopy

时间:2015-10-31 06:41:42

标签: c# .net arrays

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)的无数个例子。我错过了什么?

1 个答案:

答案 0 :(得分:1)

Buffer.BlockCopy中,最后一个参数为count,它代表要复制的字节数。

Array.Copy中的最后一个参数是:

  

length,类型:System.Int32:一个32位整数,表示数字   要复制的元素

因此,如果您想使用sourceArray将整个destinationArray复制到Array.Copy,则应使用sourceArray.Length,如果必须使用Buffer.BlockCopy,请使用{ {1}}。