Рихтера «CLR через C#» известной книгиUnboxing. Копирование полей стека в большинстве случаев
Я понимаю, когда у распаковка, она возвращает указатель на Unboxed значение на куче, но я не могу получить указатель в C#, так что копия полей из кучи в стек сделан (ответ here).
Но, когда я делаю
Console.WriteLine(v + ", " + (Int32)o);
так, когда я делаю распаковка объекта «о», только указатель передается без копии. «... Это требует распаковки операции (но без операции копирования) ...» (Рихтер, стр 129)
Теперь мой вопрос: когда возвращает указатель на Unboxed значение в куче, и когда он также копируется в стек?
Благодаря
P.S .: Код:
Int32 v = 5;
Object o = v;
Console.WriteLine(v + ", " + (Int32)o);
Код скопирован дословно из книги Рихтера (минус 1 строка) и скомпилирован в обычном режиме. – Philippe