標籤:c# 、枚舉、enum
1.枚舉使用enum關鍵字來聲明,與類同級。枚舉可以和類並列也可以
寫在類裡面,不能寫在方法裡。
2.枚舉是實值型別,隱式繼承自System.Enum,不能手動修改。
System.Enum本身是參考型別,繼承自 System.ValueType。
3.·枚舉本身一般不加存取修飾詞,要加的話只能是internal
或public;
·枚舉都是隱式密封的(sealed),不允許作為基類派生子類。
4.枚舉裡面的成員只能是預設公用的靜態(public、static),不能
有存取修飾詞;
5.·每種枚舉類型都有基礎類型,該類型可以是任何整型, 枚舉元素
的預設基礎類型為 int。
·預設情況下,第一個枚舉數的值為 0,後面每個枚舉數的值依次
遞增 1。
·枚舉數可以具有重寫預設值的初始值設定項。但是,強烈建議枚
舉包含一個值為 0 的常量。
·枚舉元素不可以重複,枚舉元素的值可以重複。
·枚舉數的名稱中不能包含空白。
6.最後一個元素後的逗號可有可無。枚舉最後的冒號可有可無。
7.基礎類型指定為每個枚舉數分配的儲存大小。但是,從 enum 類型
到整型的轉換需要用顯式類型轉換來完成。
詳情看下面代碼:
namespace EnumTest01{ class Program { static void Main(string[] args) { //3.----------------------------------------------------------------------------------------------------- //***基礎類型指定為每個枚舉數分配的儲存大小。但是,從 enum 類型到整型的轉換需要用顯式類型轉換來完成。 int a = (int)Days1.Fri; Console.WriteLine(a); //列印6 Console.WriteLine(Days1.Fri); //列印Fri Console.ReadKey(); } //4.------------------------------------------------------------------------------------------------- //***枚舉可以和類並列也可以寫在類裡面,不能寫在方法裡。 enum A : byte { } } //1.--------------------------------------------------------------------------------------------- //***枚舉本身一般不加存取修飾詞,要加的話只能是internal或public. enum Animal //此處可以加存取修飾詞internal或者public。 { dog = 1, //枚舉裡面的成員是預設公用的,不能有其他修飾符。 cat = 0, pig = 1, //pig = 0 } //***枚舉都是隱式密封的,不允許作為基類派生子類。 //enum M : Animal { } //這裡會報錯,因為枚舉不能作為基類去派生子類。 //***枚舉裡面的成員只能是預設公用的靜態,預設為Int32類型,不能有存取修飾詞。 //2.--------------------------------------------------------------------------------------------- //***每種枚舉類型都有基礎類型,該類型可以是任何整型, 枚舉元素的預設基礎類型為 int. //byte的位置可以寫: byte、sbyte、short、ushort、int、uint、long、ulong。不寫的話預設為int. enum A : byte { } //***預設情況下,第一個枚舉數的值為 0,後面每個枚舉數的值依次遞增 1。例如: enum Days1 { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; //在 Days1 枚舉中,Sat 為 0,Sun 為 1,Mon 為 2,依此類推。枚舉數可以具有重寫預設值的初始值設定項。例如: enum Days2 { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri }; //在 Days2 枚舉中,強制元素序列從 1 而不是 0 開始, Sat 為 1,Sun 為 2,Mon 為 3,依此類推。但是,強烈建議枚舉包含一個值為 0 的常量。 //***枚舉元素不可以重複,枚舉元素的值可以重複。 enum Days3 { Sat = 0, //Sat = 0, //此處會報錯,以為已經定義了一個Sat. 枚舉成員不能相同,但枚舉的值可以相同。 Sun = 1, Mon = 1, Tue, Wed, Thu = 10, Fri, //最後一個元素後的逗號可有可無。 }; //枚舉最後的這個冒號可有可無。 //在 Days3 枚舉中, Tue的值是2,Wed的值是3,Fri的值是11。 //***枚舉數的名稱中不能包含空白。}
C# 枚舉類型 enum (一)