2D の長方形配列を考えてみましょう。言う:
int[,] values = new int[len1, len2];
unsafe
コード内のすべての値をどのように反復処理できますか?
2D の長方形配列を考えてみましょう。言う:
int[,] values = new int[len1, len2];
unsafe
コード内のすべての値をどのように反復処理できますか?
以下は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