有人可以描述什麼發生(從內存管理的角度來看)當一個常量在.net中的方法中定義時?方法中定義的常量的內存是多少?
5
A
回答
7
常量通常在編譯時解析並直接插入到指令序列中。例如:
const int A = 10;
int b;
int i = A + b;
將有效地被編譯成:
int i = 10 + b;
對於他們被拘留,並把在堆上的字符串。
1
當編譯器在C#源代碼中遇到一個常量標識符時,它會直接將文字值替換爲它生成的中間語言(IL)代碼,因爲在運行時沒有與常量關聯的變量地址。const字段無法傳遞通過引用,不能在表達式中顯示爲l值。有關更多信息,您可以在Msdn上查詢Constants。
相關問題
- 1. #if中使用的未定義常量的值是多少?
- 2. DLR的內存佔用量是多少?
- 3. CLR:內存中常量字符串值的生存期是多少?
- 4. Java:枚舉常量內部方法和變量的定義
- 5. Spy ++中「Previous Window」的常量是多少?
- 6. 測量Clojure程序使用多少內存的最佳方法是什麼?
- 7. 內存中None的值是多少?
- 8. 在C++中爲用戶定義的類分配多少內存
- 9. NDK中的內存分配量是多少?
- 10. 我可以在PHP中定義多少個最大常量?
- 11. iPhone:多少內存使用量太多?
- 12. HashSet的內存限制是多少?
- 13. NSMutableArray的大小(內存)是多少?
- 14. 有沒有辦法定義PHP加載時在內存中保留的常量?
- 15. FIONBIO的Winsocks定義的實際數量是多少?
- 16. cron作業容許的內存使用量是多少?
- 17. MATLAB可以分配的最大內存量是多少?
- 18. .NET Framework精簡版的內存佔用量是多少?
- 19. 更少未定義的方法錯誤
- 20. 定義Clojure的多方法
- 21. Python類的方法的最大數量是多少?
- 22. 在_SESSION中存儲多少個變量對許多變量是多少?
- 23. 如何定義經過計時器的數量是多少?
- 24. 測量程序需要多少內存
- 25. 確定JVM堆大小時,CPU內核的數量是多少?
- 26. 在.NET DataTable中存儲數據的內存開銷是多少?
- 27. amazon ec2實例中的緩存內存大小是多少?
- 28. 用Zend Framework定義常量的地方
- 29. 正確的地方定義常量?
- 30. SolrCore中「缺少內容流」異常的意義是什麼?
在運行時,它們存儲在堆內存中,因爲它們通過執行而不會被垃圾收集。 – 2011-06-12 04:08:55