考虑2D矩形阵列。说:
int[,] values = new int[len1, len2];
如何在unsafe
代码中迭代所有值?
答案 0 :(得分:1)
以下内容适用于unsafe
上下文。
fixed (int* baseOffset = values)
{
var offset = baseOffset;
var count = len1 * len2;
for (int i = 0; i < count; i++)
{
int value = *offset;
// Do whatever you need to do here
offset++;
}
}
请注意,要获取指向数组中第一项的指针,类型必须匹配。因此,如果您要将byte*
视为ushort*
,则无法将指针强制转换为fixed
语句的括号,尽管您可以在块中执行此操作。