[英]How are value type properties in a refernce type class allocated?
在VB.NET中,如果我創建一個類,則它是引用類型。 但是,如果該類塞滿了值類型屬性,該如何處理? 如果該類已實例化但從未填充,則我懷疑分配了指向堆的指針。 但是,是否為堆棧的所有值類型屬性分配了更多空間?
當實例化引用類型時,它為堆中的對象分配內存。 在較高級別上,為對象分配的內存量是保存成員所需的內存之和。
否。在堆上分配它時,每種值類型在堆上都需要空間。
不管類中包含多少個字段,堆棧都只包含一個引用。
屬性本身不會占用空間。 田野做。 屬性和字段之間不需要一一對應。
無論您是否使用引用類型的值類型字段,都將為整個值類型分配足夠的內存。 就像直接在引用類型中定義值類型中的所有字段一樣。
如果類被實例化但從未填充,則無所謂,因為值類型不能具有null值。 因此,即使從未實際分配它們的值,它們實際上也會占用盡可能多的內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.