程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#語法練習(6): 枚舉

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

編輯:關於C#

顯示枚舉、枚舉值、枚舉名:

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();
   }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved