我正在学习 C# 中的类型值,并了解到它们不像普通引用类型那样在堆上分配。那么,一个带有引用类型的结构体如何分配内存呢?
例如:
struct simple {
public Employee e;
public bool topEmployee;
public void printSomething()
{
Console.WriteLine("Progress " + e.GetProgressReport());
Console.WriteLine("TopEmployee " + topEmployee);
}
};
Employee
是一个类。当初始化时,e
会分配到堆上吗?这是否违背了使用结构体的初衷?