标签: c# stack heap new-operator memory-model
我知道在C ++中你可以在堆栈上创建类的实例,如
MyClass mc = MyClass(8.2);
或在堆上
MyClass * mc = new MyClass(8.2);
你能用C#做同样的事情吗?我在C#中创建类的唯一方法是new它。
new
答案 0 :(得分:2)
不,这是不可能的。所有类的所有实例始终在堆上分配。
值类型,包括用户定义的struct类型,它们包含值,而不是对其他值的引用,它可以将值存储在变量恰好存储其值的任何位置,这可能不是堆。
struct