C# 枚举
C# 枚举
枚举enum
是一个特殊的类"class",它表示一组常量(不可更改/只读变量)。
要创建枚举enum
,请使用enum
关键字(而不是class或interface),并用逗号分隔枚举项:
实例
enum Level
{
Low,
Medium,
High
}
你可以使用.点语法访问枚举:
Level myVar = Level.Medium;
Console.WriteLine(myVar);
运行实例 »
Enum 是 "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
为什么以及何时使用枚举?
当您知道值不会更改时,可以使用枚举,比如月份、星期、颜色、卡片组等。