選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C# 列舉


C# 列舉

列舉 (enum) 是一種特殊的“類”,它代表一組 **常量**(不可更改/只讀變數)。

要建立列舉,請使用 enum 關鍵字(而不是 class 或 interface),並用逗號分隔列舉項。

示例

enum Level 
{
  Low,
  Medium,
  High
}

您可以使用 **點** 語法訪問列舉項。

Level myVar = Level.Medium;
Console.WriteLine(myVar);
自己動手試一試 »

Enum 是 "enumerations"(列舉)的縮寫,意思是 "明確列出"。


類中的列舉

您也可以將列舉放在類內部。

示例

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}

輸出將是:

自己動手試一試 »


列舉值

預設情況下,列舉的第一個項的值為 0。第二個項的值為 1,依此類推。

要從列舉項獲取整數值,您必須 顯式轉換 該項為 int

示例

enum Months
{
  January,    // 0
  February,   // 1
  March,      // 2
  April,      // 3
  May,        // 4
  June,       // 5
  July        // 6
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

輸出將是:

3
自己動手試一試 »

您也可以分配自己的列舉值,下一個項將相應地更新其數字。

示例

enum Months
{
  January,    // 0
  February,   // 1
  March=6,    // 6
  April,      // 7
  May,        // 8
  June,       // 9
  July        // 10
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

輸出將是:

7
自己動手試一試 »

Switch 語句中的列舉

列舉通常用於 switch 語句中,以檢查相應的值。

示例

enum Level 
{
  Low,
  Medium,
  High
}

static void Main(string[] args) 
{
  Level myVar = Level.Medium;
  switch(myVar) 
  {
    case Level.Low:
      Console.WriteLine("Low level");
      break;
    case Level.Medium:
       Console.WriteLine("Medium level");
      break;
    case Level.High:
      Console.WriteLine("High level");
      break;
  }
}

輸出將是:

中等級別
自己動手試一試 »

為什麼以及何時使用列舉?

當您擁有一組您知道不會改變的值時,請使用列舉,例如月份、星期幾、顏色、一副牌等等。

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援