2013-02-18 116 views
0

在.net上,值類型存儲在堆棧上,而堆棧上的引用類型(它是堆棧中的引用)。標記爲「動態」的變量值存儲在哪裏?

但是如果一個變量被標記爲dynamic,那麼這個規則是否仍然基於數據的運行時類型有效?

我正在尋找一些參考,指出這一點,但沒有找到任何。

+0

「值類型存儲在堆棧和堆上的引用類型」這是完全錯誤的。值類型也可以存儲在堆上。當然還有寄存器。並且一些引用類型*的實例可以被存儲在堆棧上,作爲優化。 – svick 2013-02-18 09:18:43

回答

1

類型爲的變量動態是運行時的System.Object。所以它總是對存儲在GC堆中的對象的引用。如果你爲變量賦值類型值,那麼它將被裝箱並進行標準裝箱轉換。