因工作需要,学习了C#方面的知识,看到Buffer.BlockCopy方法。从微软平台看到的解释第一时间没有看懂,感觉是其中的例子详解不充分。自己推理了一下,如下分享我自己的理解过程:(初学者欢迎查正补充~/\~);
有数组 int [] arr = {2,4,6,8,10,12,14,16,18,20};
调用方法:Buffer.BlockCopy(arr,0*4,arr,3*4,4*4);
arr = {2,4,6,8,10,12,14,16,18,20};
方法复制的起点下标为0,(从arr,0*4得出);复制长度为4*4字节;所以复制字段为2,4,6,8;
复制后导入位置为3*4字节,即复制后导入位置是数组6,8之间。
2,4,6,8,10,12,14,16,18,20
2, 4, 6 , 8,
由上述两组数组可以看出,复制后的数组2,4,6,8取代了原位置的8,10,12,14;
所以方法复制运行结束的返回值为
2,4,6, 2, 4, 6 , 8,16,18,20。