我认为这是一个非常微不足道的问题,但我无法在网上得到明确的答案。
我有一个包含值类型和引用类型的类。考虑到类中的引用类型会在执行期间的某个时间被实例化,如何为此类的每个成员分配内存?如何为这些成员中的每一个存储和访问指针?还有哪种类型是在哪种内存结构中创建的,即堆栈或堆?
我很清楚,如果我的代码中只使用了一个值类型的变量,那么它的值和所有其他细节(如它的类型等)都存储在堆栈中。类似地,如果引用类型被实例化,那么实际对象会在堆中创建,并且指向该内存位置的指针存储在堆栈中。但是类中存在的值类型(引用类型)呢?它们存储在哪里以及如何访问它们?
我在下面给出了这样一个类的例子。参考此类的答案将非常有帮助。
public class Employee
{
public int EmpNo { get; set; }
public string EmpName { get; set; }
public BankAccDetails AccDetails { get; set; }
}
public class BankAccDetails
{
//Other properties here
}