C#結構 const static readonly sealed關鍵字

結構的定義

struct 結構名{

}

在 C# 中,結構是值類型數據結構

結構的特點

  • 結構可帶有方法、字段、索引、屬性、運算符方法和事件。
  • 結構可定義構造函數,但不能定義析構函數。但是,您不能爲結構定義默認的構造函數。默認的構造函數是自動定義的,且不能被改變。
  • 與類不同,結構不能繼承其他的結構或類。
  • 結構不能作爲其他結構或類的基礎結構。
  • 結構可實現一個或多個接口。
  • 結構成員不能指定爲 abstract、virtual 或 protected。
  • 當您使用 New 操作符創建一個結構對象時,會調用適當的構造函數來創建結構。與類不同,結構可以不使用 New 操作符即可被實例化。
  • 如果不使用 New 操作符,只有在所有的字段都被初始化之後,字段才被賦值,對象才被使用。 

類 vs 結構

  • 類是引用類型,結構是值類型。
  • 結構不支持繼承。
  • 結構不能聲明默認的構造函數。


const

修飾的變量成爲常量,常量必須在定義時初始化,以及不可以修改;

通過類名,結構名進行訪問,跟對象無關;


static

靜態的,修飾字段,屬性,方法,事件,類;

靜態的成員跟對象無關,通過類名或者結構名訪問;

靜態類只能定義常量或者靜態的成員,不可以定義實例成員;

靜態類不可以實例化的


readonly

只讀,表示該字段初始化後不能被修改

只要用於修飾字段,表示該字段是隻讀,該字段只能在創建時候初始化或者構造函數中初始化


sealed

密封的,修飾類:該類不能被繼承

修飾方法和屬性:防止被再次重寫

sealed只能修飾重寫成員。


發佈了40 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章