146 列舉型別

2022-07-15 20:15:09 字數 648 閱讀 3883

除了簡單的變數型別之外,c#還提供了3個複雜的變數:列舉,結構和陣列。

列舉型別的定義

enum

列舉型別的宣告 ;

列舉型別的賦值=.;

在遊戲中我們可以定義乙個int型別來儲存狀態 0 遊戲暫停 1遊戲失敗 2遊戲勝利 3開始選單,但是這樣不容易閱讀,而且容易出錯。

這個時候我們通過列舉型別來解決

enum gamestate

在遊戲中定義乙個 gamestate state = gamestate.start;

列舉可以放在namespace下,也可以放在class裡面。

列舉型別中的每乙個值其實都是整數,預設為int型別

預設情況下列舉型別中的值從0開始,我們可以直接在列舉型別定義的時候使用=運算子給每乙個列舉指定特定值,這樣它後面的值也受影響,從被改值開始重新遞增。

enum gamestate:byte//預設為int。修改該列舉型別的儲存型別為byte以節約記憶體

9 4 列舉型別

乙個變數只有幾種可能的取值,可以一一枚舉出來,變數的取值僅限於列舉的值的有限範圍內,而不適宜用整型 實型 字元型直接表示,c語言提供了這種列舉資料型別。例如,一年的四季有春夏秋冬 乙個星期有星期日 星期一到星期六等。定義列舉型別的一般形式為 enum 列舉型別名 如 enum weekday 1.列...

3 5 9 列舉型別

有時,變數的取值只在乙個有限的集合內。例如 銷售的服裝或服裝只有小 中 大 和超大的四種尺寸。當然,可以將這些尺寸分別編碼為1 2 3 4或s m l x。但這樣存在著一定的隱患。在變數中很可能儲存的是乙個錯誤的值 如0或m 針對這種情況,可以自定義列舉型別。列舉型別包括有限個命名的值。例如,enu...

rust筆記6 列舉型別

rust的列舉型別相對於c 來說,有更強大的表現能力,先給出最基本的定義方式 enum ip fn main 列舉型別可以有不同的資料型別,並儲存對應的資料,給出 例項 enum ip fn main 列舉型別可以有自己的impl塊,例項 enum message write string chan...