MSDN からunbox
_
- オブジェクト参照がスタックにプッシュされます。
- オブジェクト参照がスタックからポップされ、値型ポインターにアンボックス化されます。
- 値型ポインターがスタックにプッシュされます。
この場合、オブジェクト参照は値型ポインタと同じではありませんか? (値の型はオブジェクト内の唯一のメンバーであるため、両方の値はヒープ内の値の型へのアドレスです)?
たとえば、要素が 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
}
}
}
}