将位数组对齐到64位边界C#

时间:2016-06-03 11:21:56

标签: c# memory-management

我在C#中有以下字节数组,并且我被告知要将它与64位边界对齐:

protected byte[] bitArray;

在C ++中,我知道我可以使用内存分配来实现这一点,但我对C#中没有相同的控制权。有什么指针吗?

1 个答案:

答案 0 :(得分:1)

首先,您需要固定阵列。否则GC迟早会将其移动到不同的对齐方式。你需要保持它固定。

然后,过度分配64位= 8字节。使用数组的子部分,只是不使用它的前缀来对齐。

通过获取指向数组的指针来确定要使用的第一个索引。

如果您不需要托管对象,则可以直接分配非托管内存。不过,这可能不太方便。