public class MyClass
{
int i = 0;
string str = "here";
MyStruct mystruct;
B b;
ArrayList myList = new ArrayList(10);
public MyClass()
{
}
....
}
public struct MyStruct
{
public int i;
public float f;
}
public class B
{
...
}
想要了解如何在後臺創建類的實例。當此聲明C#如何創建一個類的實例?
MyClass myClass = new MyClass();
被評估。背景會發生什麼?我的下列語句是否正確(對於32位OS機器)?
- 將創建一個內存空間並引用爲
myClass
; - 在上面的內存空間中,4字節用於
int i
的值; - 在上面的內存空間中,4字節用於參考
string str
;str
的實際值存儲在其他位置(其中?) - 在上面的內存空間中,8字節用於值
MyStruct mystruct
(因爲MyStruct是8字節); - 在上述內存空間內,4字節用於
B b
對象的引用; b對象的內存將在實例化時分配到其他位置; - 在上面的內存空間中,4字節用於參考
ArrayList myList
;ArrayList myList
的實際存儲空間分配在其他地方,並在此處引用爲myList
; - 上面的內存空間的另外4或8個字節用於對象元數據;
- ...;