C# 枚舉類型 enum (一)

來源:互聯網
上載者:User

標籤: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 (一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.