C# 文法練習(6): 枚舉

來源:互聯網
上載者:User
顯示枚舉、枚舉值、枚舉名:
using System;class MyClass{    enum MyEnum { AA, BB, CC };  /* 類型定義不能在函數體內 */    static void Main()    {        MyEnum e = MyEnum.CC;        Console.WriteLine(e);                   // CC        Console.WriteLine((byte)e);             // 2        Console.WriteLine((int)e);              // 2        Console.WriteLine(Convert.ToString(e)); // CC        Console.ReadKey();    }}

轉換數值或字串到枚舉:

using System;class MyClass{    enum MyEnum { AA, BB, CC };    static void Main()    {        MyEnum e;        e = (MyEnum)1;        Console.WriteLine(e);                         // BB        e = (MyEnum)Enum.Parse(typeof(MyEnum), "BB");        Console.WriteLine(e);                         // BB        Console.ReadKey();    }}

擷取枚舉的 Names 和 Values:

using System;class MyClass{    enum MyEnum { AA, BB, CC };    static void Main()    {        foreach (string s in Enum.GetNames(typeof(MyEnum)))        {            Console.WriteLine(s); // AA/BB/CC        }        foreach (int n in Enum.GetValues(typeof(MyEnum)))        {            Console.WriteLine(n); // 0/1/2        }                Console.ReadKey();    }}

枚舉值是一個整數(預設是 int 類型、從 0 開始), 可以自訂枚舉值:

using System;class MyClass{    enum MyEnum { AA=2, BB, CC=7, DD, EE };    static void Main()    {        foreach (int i in Enum.GetValues(typeof(MyEnum)))        {            Console.WriteLine(i); // 2/3/7/8/9        }                Console.ReadKey();    }}

可以指定所有整型(不包括 char 類型)為枚舉值的類型, 下面是指定為 byte:

using System;class MyClass{    enum MyEnum : byte { AA, BB, CC, DD };    static void Main()    {        string[] Names = Enum.GetNames(typeof(MyEnum));        foreach (string s in Names)        {            Console.WriteLine(s); // AA/BB/CC/DD        }        byte[] Values = (byte[])Enum.GetValues(typeof(MyEnum));        foreach (byte n in Values)        {            Console.WriteLine(n); // 0/1/2/3        }        Console.ReadKey();    }}

枚舉經常這樣用:

using System;class MyClass{    enum MyEnum    {        AA = 0x0,        BB = 0x1,        CC = 0x2,        DD = 0x4,        EE = 0x8,        FF = 0x10,        GG = 0x20,        HH = 0x40    }    static void Main()    {        MyEnum es = MyEnum.CC | MyEnum.DD;                Console.WriteLine(es); // 6        Console.ReadKey();    }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.