基础【枚举】-----(枚举)------(转)
枚舉類型是一種的值類型,它用于聲明一組命名的常數(shù)。
?? (1)枚舉的聲明:枚舉聲明用于聲明新的枚舉類型。
??? 訪問修辭符 enum 枚舉名:基礎(chǔ)類型
??? {
??????? 枚舉成員
??? }
??? 基礎(chǔ)類型必須能夠表示該枚舉中定義的所有枚舉數(shù)值。枚舉聲明可以顯式地聲明 byte、sbyte、short、ushort、int、uint、long 或 ulong 類型作為對應(yīng)的基礎(chǔ)類型。沒有顯式地聲明基礎(chǔ)類型的枚舉聲明意味著所對應(yīng)的基礎(chǔ)類型是 int。
??? (2)枚舉成員
??????? 枚舉成員是該枚舉類型的命名常數(shù)。任意兩個枚舉成員不能具有相同的名稱。每個枚舉成員均具有相關(guān)聯(lián)的常數(shù)值。此值的類型就是枚舉的基礎(chǔ)類型。每個枚舉成員的常數(shù)值必須在該枚舉的基礎(chǔ)類型的范圍之內(nèi)。
??? 示例:
產(chǎn)生編譯時錯誤,原因是常數(shù)值 -1、-2 和 –3 不在基礎(chǔ)整型 uint 的范圍內(nèi)。
??? (3)枚舉成員默認值 ???????
??????? 在枚舉類型中聲明的第一個枚舉成員它的默值為零。
??????? 以后的枚舉成員值是將前一個枚舉成員(按照文本順序)的值加 1 得到的。這樣增加后的值必須在該基礎(chǔ)類型可表示的值的范圍內(nèi);否則,會出現(xiàn)編譯時錯誤。
??? 示例:
Morning的值為0,Afternoon的值為1,Evening的值為2。
??? (4)為枚舉成員顯示賦值
??????? 允許多個枚舉成員有相同的值.
??????? 沒有顯示賦值的枚舉成員的值,總是前一個枚舉成員的值+1.
????? 示例:
b的值為2,d的值為2.
??? 注意:以上枚舉值都不能超過它的基礎(chǔ)類型范圍。否則會報錯.
??? (5)枚舉類型與基礎(chǔ)類型的轉(zhuǎn)換
???? 基礎(chǔ)類型不能隱式轉(zhuǎn)換為枚舉類型
???? 枚舉類型也不能隱式轉(zhuǎn)換為基礎(chǔ)類型
??? 示例:
????(6)System.Enum類型
??? System.Enum 類型是所有枚舉類型的抽象基類,并且從 System.Enum 繼承的成員在任何枚舉類型中都可用。
??? System.Enum 本身不是枚舉類型。相反,它是一個類類型,所有枚舉類型都是從它派生的。
??? System.Enum 從類型 System.ValueType派生
??? (7)使用枚舉類型
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/shao-shao/articles/3435261.html
總結(jié)
以上是生活随笔為你收集整理的基础【枚举】-----(枚举)------(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ passes by refere
- 下一篇: my97DatePicker 自定义扩展