可能重复:
Fields of class, are they stored in the stack or heap?
我正在阅读一篇关于Stack vs Heap的文章(只是为了更新我的知识)。
据我所知,如果我在引用类型(类)中创建值类型,则值类型也将存储在堆中。因为存储的值类型取决于其创建的位置。
但是,当我们创建我们的应用程序(比如WPF / Silverlight)时,当我们创建UserControl时,ViewModel是不是它们也是一个类(一个对象)的引用类型?
所以我有点疑惑,所以无论我在UserControl中创建什么,ViewModel也会在Heap中?
答案 0 :(得分:4)
所以我有点疑惑,所以无论我在UserControl中创建什么,ViewModel也会在Heap中?
是的,这是真的。 UserControl
是一个类,因此它的内存及其中的任何变量都将存储在堆上。
这里有两件事:
答案 1 :(得分:1)
是的,UserControl的类及其包含的所有属性值(即使其中许多是值类型)将存储在堆上。
不要过多担心堆栈与堆。了解以下内容通常就足够了:
现在去代码:)