香蕉视频app

香蕉视频appKeep on going never give up.

Let's Go

C# 學習筆記(27)類與結構體的區別

C#Lonely2019-05-10 10:10:1057次0條

類與結構體的區別

1、語法上的區別在于:定義類要使用關鍵字class,而定義結構體則要使用關鍵字struct。

2、結構體中不能對聲明字段進行初始化,但類可以。

香蕉视频app3、如果沒有為類顯式地定義構造函數,C#編譯器會自動生成一個無參的實例構造函數,我們稱之為隱式構造函數;而我們為類顯式地定義了一個構造函數,C#編譯器就不會再自動生成隱式構造函數了。與此不同的是,在結構體中,無論你是否顯式地定義了構造函數,隱式構造函數都是一直存在的。

4、結構體中不能顯式地定義無參數的構造函數,這也說明無參數構造函數是一直存在的,所以不能再顯式地為結構體添加一個無參的構造函數;而類中則可以顯式地定義一個無參數的構造函數。

香蕉视频app5、在結構體的構造函數中,必須要為結構體中的所有字段賦值。

香蕉视频app6、創建結構體對象可以不使用new關鍵字,但此時結構體對象中的字段是沒有初始值的;而類必須使用new關鍵字來創建對象。

香蕉视频app7、結構體不能繼承結構或類,但可以實現接口;而類可以繼承類但不能繼承結構,類也可以實現接口。

香蕉视频app8、類是引用類型,而結構體是值類型。

9、結構體不能定義析構函數,而類可以有析構函數。

10、結構體不能使用abstract和sealed關鍵字來修飾,而類可以。

為了更好地理解類和結構體的區別,文章傳送門:




暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!