是否可以在堆栈上创建类的实例?

时间:2017-02-03 16:24:31

标签: c# stack heap new-operator memory-model

我知道在C ++中你可以在堆栈上创建类的实例,如

MyClass mc = MyClass(8.2);

或在堆上

MyClass * mc = new MyClass(8.2);

你能用C#做同样的事情吗?我在C#中创建类的唯一方法是new它。

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。所有类的所有实例始终在堆上分配。

值类型,包括用户定义的struct类型,它们包含值,而不是对其他值的引用,它可以将值存储在变量恰好存储其值的任何位置,这可能不是堆。