【发布时间】:2014-08-14 02:10:42
【问题描述】:
所以我有这个:
class SimpleDateStructureDemo
{
struct Date
{
public int year;
public int month;
public int day;
}
static void Main()
{
...
}
}
然后我看到一个例子,说对象是在堆上分配的:
Date dateMoonWalk = new Date();
我认为类是引用类型,结构是值类型。最后,你可以只使用new在堆上创建一个struct类型的对象,对吧?
【问题讨论】:
-
你有没有考虑过缩进你的代码?此外,当您引用您看到或阅读的内容时,引用/链接到它通常是有意义的,因此可以与您的问题一起评估。
-
当你说“堆”是什么意思? (我知道这意味着什么,我想知道你认为这意味着什么)以及你为什么关心你的对象是分配在堆上、状态上还是重新分配到 CPU 中。
-
Jon Skeet 对这个问题的回答(6 年前)长达 3 页,这一事实应该会提示您,这比您想象的要复杂得多,而且几乎可以肯定与不再是日常开发者
标签: c# class struct heap-memory stack-memory