0

MSDN からunbox_

  1. オブジェクト参照がスタックにプッシュされます。
  2. オブジェクト参照がスタックからポップされ、値型ポインターにアンボックス化されます。
  3. 値型ポインターがスタックにプッシュされます。

この場合、オブジェクト参照は値型ポインタと同じではありませんか? (値の型はオブジェクト内の唯一のメンバーであるため、両方の値はヒープ内の値の型へのアドレスです)?

たとえば、要素が 1 つの配列: 配列のアドレスは、配列の最初の要素のアドレスと同じです。

void Main()
{
    int[] test = new []{1};
    unsafe
    {
        fixed (int* x = test)
        {
            fixed (int* y = &test[0])
            {
                Console.WriteLine((int)x);
                Console.WriteLine((int)y); // They are equal
            }
        }
    }
}
4

1 に答える 1