質問

なぜ2種類の方法があります.NETの場所にメモリをロック?それらの間の違いは何ですか?

役に立ちましたか?

解決

固定文は危険修飾するの文脈で使用され。通常のC#オペレーションの外にある、:安全でないあなたがポインタ演算(低レベルAPIの呼び出しなど)を使用して行っていることを宣言します。 固定の文は、メモリをロックするために使用されますそれはまだ使用中である間、ガベージコレクタはそれを再配分しませんので置きます。あなたは危険なのコンテキスト外固定ステートメントを使用することはできません。

public static void PointyMethod(char[] array)
{
    unsafe
    {
        fixed (char *p = array)
        {
            for (int i=0; i<array.Length; i++)
            {
                System.Console.Write(*(p+i));
            }
        }
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top