3 回答

TA貢獻1868條經(jīng)驗 獲得超4個贊
Structure是值類型,classe是引用類型 Structure用棧來分配; classe用堆來分配 structure的成員默認情況下是公共的,而Class的成員變量和常量默認情況下是私有的而其它成員默認情況下是公共的.這與VB6是相兼容的。 structure必須至少有一個非共享的成員變量或事件成員,class可以完全是空的. Structure的成員不能聲明成Protected; class成員可以. 一個structure過程只能在它是一個Shared Sub時才能handle events而且只能通過AddHandler語句;而任何class過程都可以handle events,既可以用Handles關(guān)鍵字或 AddHandler語句。 Structure variable declarations cannot specify initializers, the New keyword, or initial sizes for arrays; class variable declarations can. Structure繼承自ValueType類,不能從其它任何類型繼承; classes可以從任何不是ValueType的類繼承 Structure不能繼承而Class可以 Structure從來不析構(gòu)terminated因此common language runtime (CLR)從來不調(diào)用它的Finalize方法,classe由垃圾回收器進行析構(gòu), 當(dāng)沒有任何對該類的引用時調(diào)用它的Finalize方法 structure 不需要一個構(gòu)造函數(shù),而Class需要 Structure只能有帶參數(shù)的非共享的構(gòu)造函數(shù); classes 可以有帶或不帶參數(shù)的構(gòu)造函數(shù). 每個Structure都有一個默認的不帶參數(shù)的構(gòu)造函數(shù)以對其成員進行初始化,你可以重新定義該函數(shù)
添加回答
舉報