我是一名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