56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
![]() |
#unity/日常积累
|
|||
|
|
|||
|
# Buffer.BlockCopy的详细文档
|
|||
|
|
|||
|
## 语法
|
|||
|
|
|||
|
将从指定偏移量开始的源数组中指定数量的字节复制到以特定偏移量开始的目标数组。
|
|||
|
|
|||
|
``` cs
|
|||
|
public static void BlockCopy(
|
|||
|
Array src,
|
|||
|
int srcOffset,
|
|||
|
Array dst,
|
|||
|
int dstOffset,
|
|||
|
int count
|
|||
|
)
|
|||
|
```
|
|||
|
|
|||
|
参数
|
|||
|
|
|||
|
src
|
|||
|
|
|||
|
类型:System.Array
|
|||
|
|
|||
|
源缓冲区。
|
|||
|
|
|||
|
srcOffset
|
|||
|
|
|||
|
类型: System.Int32
|
|||
|
|
|||
|
基于零的字节偏移到src中。
|
|||
|
|
|||
|
dst
|
|||
|
|
|||
|
类型: System.Array
|
|||
|
|
|||
|
目标缓冲区。
|
|||
|
|
|||
|
dstOffset
|
|||
|
|
|||
|
类型: System.Int32
|
|||
|
|
|||
|
基于零的字节偏移到dst中。
|
|||
|
|
|||
|
count
|
|||
|
|
|||
|
类型: System.Int32
|
|||
|
|
|||
|
要复制的字节数。
|
|||
|
备注
|
|||
|
|
|||
|
该方法将在src从srcOffset索引开始复制count字节,从dst的索引dstOffset开始复制到dst。srcOffset和dstOffset都是从零开始的; 也就是说,每个缓冲区中的第一个字节位于位置0,而不是位置1。
|
|||
|
|
|||
|
该 BlockCopy方法访问中的字节的src使用的在内存中的偏移,而不是程序结构,如索引或上部和下部数组边界参数阵列。例如,如果在应用程序的编程语言中声明一个Int32数组,其下限为-50,然后将该数组和偏移量5传递给BlockCopy方法,该方法将访问第一个数组元素是数组的第二个元素,它位于索引-49处。此外,首先访问数组元素-49索引下的那一个字节取决于执行应用程序的计算机字节序。
|
|||
|
|
|||
|
顾名思义,BlockCopy方法复制一个字节块作为一个整体,而不是一次复制一个字节。因此,如果当src和dst引用相同的数组时,并且srcOffset + count -1的范围与dstOffset + count -1 的范围重叠,则重叠字节的值在复制到目标之前不会被覆盖。
|