在VB.NET中,如果我创建一个类,它就是一个引用类型。但是,如果那个类充满了值类型属性,那么这是如何处理的呢?如果该类是即时的但从未填充,我怀疑指向堆已经分配了。但是,堆栈中是否为它的所有值类型属性分配了更多空间?
答案 0 :(得分:2)
实例化引用类型时,它会为堆中的对象分配内存。在较高级别,为对象分配的内存量是保存成员所需的内存总和。
答案 1 :(得分:1)
没有。在堆上分配它时,每个值类型都需要堆上的空间。
无论类中包含多少个字段,堆栈只包含一个引用。
答案 2 :(得分:1)
属性不会占用空间。菲尔兹。不需要在属性和字段之间进行一对一的对应。
在引用类型中使用值类型字段为整个值类型分配足够的内存,无论您是否使用它。这就像在引用类型中直接定义值类型中的所有字段一样。
答案 3 :(得分:0)
如果类被实例化但从未填充并不重要,因为值类型不能具有空值。因此,即使它们的值从未实际分配,它们实际上也会占用尽可能多的内存。