1. 程式人生 > >枚舉與結構體

枚舉與結構體

函數 ble 必須 model exp 實例對象 遞增 variable truct

枚舉與結構體

枚舉 enum

枚舉的作用是用來增加代碼的可讀性,限制變量的使用範圍。枚舉有以下特點:

  1. 一個完整的枚舉包括關鍵字enum、變量名、{}以及枚舉值,例如:

enum Fruits{
Apple,
Orange,
}
  1. 枚舉變量的聲明要使用變量名,枚舉值的調用也要使用變量名,使用如下:

Fruits apple = Fruits.Apple;
  1. 枚舉字面值屬於整型,默認是int類型,可以通過在變量名後指定某一值類型,枚舉可選的整型包括:byte、sbyte、short、ushort、int、uint、long以及ulong。

enum Fruits:uint{
Apple,
Orange,
}

不同的類型限制了枚舉值的取值範圍,byte的可取值0~255,不能超出這個範圍。

  1. 枚舉值的默認值為0,往後依次遞增加1。也可以在聲明時,指定默認值。

enum Fruits{
Apple = 1
Orange,
}
  1. 枚舉值可以通過?聲明為可空類型,接收null,Fruits? apple = null

結構體

結構體的存在和類很像,但又有很大的區別:

  1. 結構體是值類型,類是引用類型

  2. 結構體的聲明使用關鍵字struct,類的聲明使用關鍵字class

  3. 結構體和類都包含一個默認構造函數,但是結構體的默認構造函數不允許自己聲明,類的默認構造函數可以進行聲明使用

  4. 結構體和類都允許自定義構造函數,進行字段初始化,但結構體的必須對所有的字段進行初始化;類的可以選擇性的初始化,剩余的會由系統進行默認的初始化

  5. 結構體的字段在聲明時不允許進行初始化,類的字段可以在聲明時進行初始化操作

  6. 結構體存在棧中,類在棧中存放的是堆中實例對象的內存地址

枚舉與結構體