unsafe
キーワードを使用できるようにするには、Project Properties => Buildで「安全でないコードを許可する」チェックボックスをオンにする必要がありますunsafe
という用語)。 たとえば、forループを使用すると、次のような配列が生成されます。
for (int i = 0; i < array.Length; i++)
{
array[i] = 0;
}
.NET Frameworkでは、配列の境界を超えないように、インデックスが境界を超えた場合にIndexOutOfRangeException
します。
しかし、安全でないコードを使用すると、配列の境界を超えてしまうことがあります:
unsafe
{
fixed (int* ptr = array)
{
for (int i = 0; i <= array.Length; i++)
{
*(ptr+i) = 0;
}
}
}