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;
}
}
输出将是:
中等级别
为什么以及何时使用枚举?
当您拥有一组您知道不会改变的值时,请使用枚举,例如月份、星期几、颜色、一副牌等等。