我正在编写一个高性能的数据结构。我遇到的一个问题是似乎无论如何都不会将数组的一部分复制到另一个数组(最好尽快)。我也使用泛型,所以我不确定我会如何使用Buffer.BlockCopy
,因为它需要字节地址,而且似乎不可能客观地确定对象的大小。我知道 Buffer.BlockCopy 在字节级别上工作,但它是否也将填充计为一个字节?
例子:
var tmo=new T[5];
var source = new T[10];
for(int i=5;i<source.Length;i++)
{
tmp[i-5]=source[i];
}
我将如何以更快的方式执行此操作,例如 Array.CopyTo?