0

使用stackalloc内存时,我想将其内容复制到数组中/从数组中复制。我正在寻找类似于Buffer.BlockCopy允许我传递源数据中的偏移量和目标中的偏移量的东西。

有没有这样的stackalloc记忆方法?或者一般来说——如何在不逐个元素迭代的情况下一次性复制内存?

int i = 0;
double* window = stackalloc double[max_window_size];
for (int x = 0; x < width; ++x)
{
    window[i] = array[x, y];
    ++i;
}

重要的问题:我要问的数组已经存在。所以我不能从stackalloc内存中创建一个数组,然后将该数组复制到现有数组,因为它首先会使整个使用点无效stackalloc

4

1 回答 1

0

我在将数据从 IntPtr 复制到 IntPtr中找到了答案

因此,要回答我自己的问题,必须将数组固定一秒钟(使用fixed关键字),这样手头就有两个指针。Buffer.MemoryCopy没有偏移量的重载,但几乎没有指针算术你会得到想要的效果。

于 2018-10-10T08:19:19.050 回答