特に、私は次のようなシナリオを考えています。
unsafe struct Foo
{
public int Bar;
public Foo* GetMyAddr()
{
fixed (Foo* addr = &this)
return addr;
}
}
管理されていないメモリに格納されているFooを想定して、GetMyAddrの固定ステートメントの評価に何が関係しているかを把握しようとしています。私はプログラマーとして、この構造体がマネージヒープ上にないことを知っています。最も効率的な方法で、アンマネージメモリ内のアドレスを取得する必要があります。ここで使用されているロック操作や不可分操作があると、完全に不適切になるので、特に心配です。