最适合网络开发者的网站
C# 语言。W3Schools 英文课程

尿素 西斯

C# 枚举


C# 枚举

一个 enum 是一个特殊的“类”,代表一组常量 (不可改变/只读变量)。

要创建一个 enum, 使用 enum 关键字(而不是类或接口),并用逗号分隔枚举项:

例子

enum Level 
{
  Low,
  Medium,
  High
}

您可以访问 enum 物品 句法:

Level myVar = Level.Medium;
Console.WriteLine(myVar);
亲自尝试 »

枚举 是“enumerations”的缩写,意为“具体列出”。


类中的枚举

您还可以 enum 在课堂内部:

例子

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

输出将是:

Medium
亲自尝试 »

枚举值

默认情况下,枚举的第一项的值为 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;
  }
}

输出将是:

Medium level
亲自尝试 »

为什么以及何时使用枚举?

当您知道某些值不会改变时,请使用枚举,例如月份、天数、颜色、纸牌等。