【发布时间】:2012-10-31 00:55:13
【问题描述】:
考虑一个二维矩形阵列。说:
int[,] values = new int[len1, len2];
如何遍历unsafe 代码中的所有值?
【问题讨论】:
标签: c# .net unsafe fixed-statement multidimensional-array
考虑一个二维矩形阵列。说:
int[,] values = new int[len1, len2];
如何遍历unsafe 代码中的所有值?
【问题讨论】:
标签: c# .net unsafe fixed-statement multidimensional-array
以下内容适用于 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语句的括号内转换指针,尽管你可以在块中这样做。
【讨论】: