結(jié)構(gòu)是值類型,只能繼承接口,不能被繼承,沒有默認(rèn)的構(gòu)造函數(shù),可以創(chuàng)建,沒有析構(gòu)函數(shù),不可以用abstract和sealed,沒有protected修飾符,可以不用new初始化。
如何選擇使用結(jié)構(gòu)還是類:
a) 堆棧的空間有限,對(duì)于大量的邏輯的對(duì)象,創(chuàng)建類要比創(chuàng)建結(jié)構(gòu)好一些
b) 結(jié)構(gòu)表示如點(diǎn)、矩形和顏色這樣的輕量對(duì)象,例如,如果聲明一個(gè)含有 1000 個(gè)點(diǎn)對(duì)象的數(shù)組,則將為引用每個(gè)對(duì)象分配附加的內(nèi)存。在此情況下,結(jié)構(gòu)的成本較低。
c) 在表現(xiàn)抽象和多級(jí)別的對(duì)象層次時(shí),類是最好的選擇
d) 大多數(shù)情況下該類型只是一些數(shù)據(jù)時(shí),結(jié)構(gòu)是最佳的選擇