c#中的列舉與c中的不一樣,定義的內容不一樣,用法上也存在差異
c的用法在c#中可以完全使用,但是c#的不能夠在c中使用,c中的不能夠定義方法,屬性等。
列舉型別是一種的值型別,它用於宣告一組命名的常數。
(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派生
例項:
簡單的使用列舉類
列舉類使用例子 public enum systemusertype public string getlabel public static systemusertype getenum string name for systemusertype enums values return null...
列舉enum簡單使用
package com.enums public class status 刪除狀態 author qingtian public static enum fileonloadstatus 啟用禁用狀態 author qingtian public static enum enablestatus ...
Java列舉類的簡單使用
列舉類的本質就是提供有限個例項,我們自己不能隨便new物件,那麼我們先按照如下步驟自己手動實現一下代表季節的列舉類,提供春 夏 秋 冬4個例項 定義myenumation類,私有化建構函式 宣告季節名稱 季節描述2個成員變數,生成相應的構造方法和set get方法 宣告4個靜態的myenumatio...