列舉與結構體
阿新 • • 發佈:2018-11-28
列舉與結構體
列舉 enum
列舉的作用是用來增加程式碼的可讀性,限制變數的使用範圍。列舉有以下特點:
-
一個完整的列舉包括關鍵字enum、變數名、{}以及列舉值,例如:
enum Fruits{
Apple,
Orange,
}
-
列舉變數的宣告要使用變數名,列舉值的呼叫也要使用變數名,使用如下:
Fruits apple = Fruits.Apple;
-
列舉字面值屬於整型,預設是int型別,可以通過在變數名後指定某一值型別,列舉可選的整型包括:byte、sbyte、short、ushort、int、uint、long以及ulong。
enum Fruits:uint{
Apple,
Orange,
}
不同的型別限制了列舉值的取值範圍,byte的可取值0~255,不能超出這個範圍。
-
列舉值的預設值為0,往後依次遞增加1。也可以在宣告時,指定預設值。
enum Fruits{
Apple = 1,
Orange,
}
-
列舉值可以通過?宣告為可空型別,接收null,Fruits? apple = null
結構體
結構體的存在和類很像,但又有很大的區別:
-
結構體是值型別,類是引用型別
-
結構體的宣告使用關鍵字struct,類的宣告使用關鍵字class
-
結構體和類都包含一個預設建構函式,但是結構體的預設建構函式不允許自己宣告,類的預設建構函式可以進行宣告使用
-
結構體和類都允許自定義建構函式,進行欄位初始化,但結構體的必須對所有的欄位進行初始化;類的可以選擇性的初始化,剩餘的會由系統進行預設的初始化
-
結構體的欄位在宣告時不允許進行初始化,類的欄位可以在宣告時進行初始化操作
-