【发布时间】:2017-02-18 14:59:39
【问题描述】:
我正在尝试了解如何使用 .NET Framework 将对象存储在内存中。
给定以下person 类:
public class Person
{
public string name { get; set; }
public int age { get; set; }
}
问题:
首先,我的理解是否存在重大/明显缺陷? (我几乎可以肯定存在,因为以我描述的方式处理对象似乎效率低下;尤其是
name指针指向字符串成员的 char 集合的方式)其次,对于类的值类型成员(即
Age),它们是存储在对象本身中(因此与对象在相同的内存地址中),还是被分配了自己的地址,然后对象指向它? (如我的图表所示)和上面的问题类似,但是对于引用类型的成员,对象是否持有指向指针的指针? (即在我的图中引用 char 集合的名称指针)
最后,如果我的
Person类的成员是字段而不是属性,会有什么不同吗?
更新:根据 Sweeper 和 Tim 的回答更新了图表,我认为现在是正确的。
注意:指针改为引用,因为这是托管代码。
【问题讨论】:
标签: c# .net memory-management