C 中的列舉及相關例項

2021-06-02 10:35:36 字數 1795 閱讀 9053

長遠來看,建立列舉可以節省大量的時間,減少許多麻煩。使用列舉比使用無格式的整數至少有如下三個優勢:

●       列舉可以使**更易於維護,有助於確保給變數指定合法的、期望的值。

●       列舉使**更清晰,允許用描述性的名稱表示整數值,而不是用含義模糊的數來表示。

●       列舉使**更易於鍵入。在給列舉型別的例項賦值時,vs.net ide會通過intellisense彈出乙個包含可接受值的列表框,減少了按鍵次數,並能夠讓我們回憶起可能的值。

(1)列舉的宣告:列舉宣告用於宣告新的列舉型別。

訪問修辭符 enum 列舉名:基礎型別

基 礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告 byte、sbyte、short、ushort、int、uint、long 或 ulong 型別作為對應的基礎型別。沒有顯式地宣告基礎型別的列舉宣告意味著所對應的基礎型別是 int。

(2)列舉成員

列舉成員是該列舉型別的命名常數。任意兩個列舉成員不能具有相同的名稱。每個列舉成員均具有相關聯的常數值。此值的型別就是列舉的基礎型別。每個列舉成員的常數值必須在該列舉的基礎型別的範圍之內。

示例:

public enum timeofday:uint

產生編譯時錯誤,原因是常數值 -1、-2 和 –3 不在基礎整型 uint 的範圍內。

(3)列舉成員預設值

在列舉型別中宣告的第乙個列舉成員它的

默值為零

。 以後的列舉成員值是將前乙個列舉成員(按照文字順序)的值加 1 得到的。這樣增加後的值必須在該基礎型別可表示的值的範圍內;否則,會出現編譯時錯誤。

示例:

public enum timeofday:uint

morning的值為0,afternoon的值為1,evening的值為2。

(4)為列舉成員顯示賦值

允許多個列舉成員有相同的值.

沒有顯示賦值的列舉成員的值,總是前乙個列舉成員的值+1.

示例

public enum number

b的值為2,d的值為2.

注意:以上列舉值都不能超過它的基礎型別範圍。否則會報錯.

(5)列舉型別與基礎型別的轉換

基礎型別不能隱式轉換為列舉型別

列舉型別也不能隱式轉換為基礎型別

示例:

public enum number

class test

}

(6)system.enum型別

system.enum 型別是所有列舉型別的抽象基類,並且從 system.enum 繼承的成員在任何列舉型別中都可用。

system.enum 本身不是列舉型別。相反,它是乙個類型別,所有列舉型別都是從它派生的。

system.enum 從型別 system.valuetype派生

(7)使用列舉型別

using system;

public enum timeofday

class test

}static void main()

}

c 列舉例項

分享 c enum列舉型別使用總結 public enum colors the entries of the colors enum are redgreen blue yellow 根據name獲得enum的型別 colors mycolor colors enum.parse typeof c...

C 列舉與特性,及相關應用封裝

公司專案用到列舉封裝的幫助類,加上列舉確實很方便直觀,管理一些特定值,但有時候就是想知道具體列舉值,如果用傳統if else或是swtich就太low,這裡採用更優雅,逼格更高的一種方式,直接獲取列舉,或是列舉值等等,甚至可以獲取列舉上面特性描述字串等等 關鍵點 第一 可以給列舉擴充套件方法,獲取特...

C 中的this指標詳解及例項

c this 指標詳解 學習 c 的指標既簡單又有趣。通過指標,可以簡化一些 c 程式設計任務的執行,還有一些任務,如動態記憶體分配,沒有指標是無法執行的。所以,想要成為一名優秀的 c 程式設計師,學習指標是很有必要的。正如您所知道的,每乙個變數都有乙個記憶體位置,每乙個記憶體位置都定義了可使用連字...