菜单
×
   ❮   
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 提供支持