我是一名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. 保留對象在objective-c
- 2. nullptr_t駐留在哪裏?
- 3. 在回傳中保留c#對象
- 4. 的Cocos2D保留在C#中的對象
- 5. 在rails中的子駐留3
- 6. EJB客戶端駐留在哪裏,EJB容器駐留在應用服務器
- 7. C++調用駐留在多個類中的函數
- 8. 如果給出SQL Server對象的列表,如何確定每個對象駐留在哪個數據庫中?
- 9. PHP:獲得駐留文件
- 10. 應該在Django的許多一對多「的關係駐留在
- 11. 獲取一個ComboBoxItem駐留在
- 12. E L K和filebeat駐留在哪裏
- 13. Pester的Invoke-Pester駐留在哪裏?
- 14. 更改駐留在循環外從環
- 15. PHP - 如何引用駐留在對象內的另一個對象的類變量(屬性)?
- 16. 針對駐留在特定IP地址上的網站弱點?
- 17. 在java中壓縮和解壓縮對象,如果它們駐留在不同的包中
- 18. 如何使用對象中的這些記錄將數組中的對象推入不應該駐留在對象名稱下?
- 19. 多個對象在Objective-C/Cocoa中保留相同的對象可以嗎?
- 20. `singleton`方法在Ruby中駐留在哪裏?
- 21. C#控制檯應用程序退出後仍駐留在內存中
- 22. 如何創建駐留在托盤中的無窗口C#應用程序?
- 23. Objective-c對象的NSMutableArray保留
- 24. 保留塊中的對象
- 25. 終止駐留裝配程序
- 26. 如何在C#dll中保留一個對象「持久化」?
- 27. 駐留在Google TV上的應用程序可以確定平臺上駐留的其他應用程序
- 28. 釋放字符串類型的對象,因爲它駐留在字符串池中
- 29. 我似乎無法弄清楚如何將JSON對象傳遞給駐留在不同模塊中的類
- 30. 在內存中保留對象(iPhone SDK)
有一些邊緣例;迭代器塊中的局部變量或捕獲的變量實際上存儲在堆中。同樣,堆上的*本身*(直接間接)堆中的成員也在堆中。當然,盒裝值也在堆上。 – 2010-01-21 16:20:54
在http://www.kirupa.com/net/stacks_heaps_pg1.htm中提供了一個很好的圖形視圖 – balalakshmi 2010-01-21 16:22:17