首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 列舉基礎:宣告、輸出、轉換與 Parse 完整入門

     編輯:關於C語言

列舉宣告與基本用法


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(e.ToString()); // CC
}

數值/字串雙向轉換


// 數值 → 列舉
MyEnum e1 = (MyEnum)1; // BB

// 字串 → 列舉
MyEnum e2 = (MyEnum)Enum.Parse(typeof(MyEnum), "BB"); // BB
// 安全版
if (Enum.TryParse("BB", out MyEnum e3)) { /* 成功 */ }

列舉定義位置

列舉為型別,必須定義在命名空間或類別層級,不能在方法內部。

常見陷阱

  • 預設值為 0,若未定義成員為 0,`default(MyEnum)` 會得到未定義值
  • 建議永遠定義值為 0 的成員 (如 `None = 0`),避免未初始化狀態模糊
  • `Enum.IsDefined` 檢查值是否定義,但效能較差,熱路徑避免使用

下一步

進階主題:`[Flags]` 位元旗標、自訂底層型別、位元運算技巧、列舉與序列化 (JSON/DB) 整合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved