📅  最后修改于: 2023-12-03 15:14:32.920000             🧑  作者: Mango
C#枚举是一种用于存储固定值的数据类型。其定义了一组预定义的常量及其对应的整数值。枚举类型常用于指定程序中使用的特定值。
枚举类型在C#中由enum关键字引入,如下所示:
enum Fruit
{
Apple,
Banana,
Mango
}
上述定义了一个名为Fruit的枚举类型,其中包含三个枚举常量:Apple、Banana和Mango。 默认情况下,枚举常量的值为0、1、2等依次递增的整型值。
枚举类型的定义格式如下:
enum 枚举类型名
{
枚举常量1,
枚举常量2,
...
}
其中,枚举类型名是自定义的标识符(遵循C#标识符的命名规则),而枚举常量则是该枚举类型的取值成员。
默认情况下,如果未为枚举成员指定值,则它们的值从0开始,每个成员的值增加1.
可以使用等号(=)为枚举常量指定单个值,如下所示:
enum Fruit
{
Apple = 1,
Banana = 2,
Mango = 3
}
上述代码中,Apple枚举成员的值为1,Banana的值为2,Mango的值为3。
枚举类型定义后,可以使用其枚举值来初始化变量,如下所示:
Fruit f = Fruit.Apple;
上述代码将Fruit类型的变量f初始化为Apple枚举常量。
可以使用Convert类和枚举类型的Parse方法将字符串值转换为枚举类型。
string fruitName = "Banana";
Fruit f = (Fruit) Enum.Parse(typeof(Fruit), fruitName);
上述代码中,根据字符串值"Banana"获取对应的Fruit枚举常量。
枚举值可以与其他类型的值进行比较。在比较枚举值时,可以使用==和!=运算符。
Fruit f1 = Fruit.Apple;
Fruit f2 = Fruit.Banana;
if (f1 == Fruit.Apple)
{
Console.WriteLine("f1 is an apple");
}
if (f2 != Fruit.Mango)
{
Console.WriteLine("f2 is not a mango");
}
上述代码中,分别比较了f1和f2是否等于某个枚举值。如果与枚举值相等,则返回true,反之则返回false。
C#枚举类型提供了一种方便的方式来存储和操作固定值。枚举类型允许定义一组预定义的常量,可以指定枚举成员的整数值,可以将枚举类型的值与其他类型的值进行比较。有了枚举类型,代码可读性更好,且易于维护和修改。