我是一名java程序員,我知道java對象存儲在堆中。只是爲了好奇才想把對象放在c#中。對象駐留在C#中?
4
A
回答
7
- 對於引用類型:在堆上
- 對於值類型:堆棧爲局部變量和方法參數上,或在堆上用於參考類型的成員
0
的對象被存儲在堆在C#也是如此。
5
C#語言沒有指定對象或值的存儲位置。它只是定義了引用類型和值類型的語義。
Microsoft .NET CLR存儲堆棧上的本地變量以及堆上的引用類型(對象)實例和非本地值類型的實例所包含的值(值類型的實例)。但是,如前所述,只要符合C#語言規範定義的值和引用語義,C#語言的其他實現就可以隨意存儲它們所希望的內容。
1
詳細的解釋,
C#堆在.NET(荷蘭國際集團)與堆棧(荷蘭國際集團):第I部分 馬修·科克倫1月14日,存放在託管堆中2006年http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx
0
引用類型。
默認存儲在堆棧上的值類型。
值類型也可以存儲在堆在幾種情況:
- 在拳擊(鑄造值類型的接口,向下轉換值類型爲對象等)。
- 如果值類型是參考類型的成員
- 如果值類型在閉合使用
相關問題
- 1. 訪問駐留在插件中的自定義對象dll
- 2. 調用駐留在字典中的對象的方法?
- 3. 保留對象在objective-c
- 4. C++對象保留?
- 5. MonoDevelop.Macinterop駐留在哪裏?
- 6. nullptr_t駐留在哪裏?
- 7. 找出圖像駐留在
- 8. 不能從駐留在包
- 9. 在回傳中保留c#對象
- 10. 的Cocos2D保留在C#中的對象
- 11. 如何使對象駐留到函數調用?
- 12. 如何從它駐留的COM對象獲取HMODULE?
- 13. 在rails中的子駐留3
- 14. 設置ItemsControl駐留在UserControl中的ItemTemplate
- 15. EJB客戶端駐留在哪裏,EJB容器駐留在應用服務器
- 16. 可以/應該C++ #pragma預處理器駐留在函數中
- 17. C++調用駐留在多個類中的函數
- 18. C++ - 如何內聯一個駐留在.lib中的函數?
- 19. 如果給出SQL Server對象的列表,如何確定每個對象駐留在哪個數據庫中?
- 20. PHP:獲得駐留文件
- 21. 如何告訴ELMAH其DB對象駐留在新的模式下?
- 22. 應該在Django的許多一對多「的關係駐留在
- 23. Wheren的任務載體駐留在Linux?
- 24. 獲取一個ComboBoxItem駐留在
- 25. 光標駐留在editText位置爲零
- 26. E L K和filebeat駐留在哪裏
- 27. Blob數據駐留在哪裏?
- 28. 更改駐留在循環外從環
- 29. UnityBootstrapper RegisterTypesIfMissing當類型駐留在
- 30. Pester的Invoke-Pester駐留在哪裏?
有一些邊緣例;迭代器塊中的局部變量或捕獲的變量實際上存儲在堆中。同樣,堆上的*本身*(直接間接)堆中的成員也在堆中。當然,盒裝值也在堆上。 – 2010-01-21 16:20:54
在http://www.kirupa.com/net/stacks_heaps_pg1.htm中提供了一個很好的圖形視圖 – balalakshmi 2010-01-21 16:22:17