📜  C#枚举(1)

📅  最后修改于: 2023-12-03 15:14:32.920000             🧑  作者: Mango

C#枚举

简述

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#枚举类型提供了一种方便的方式来存储和操作固定值。枚举类型允许定义一组预定义的常量,可以指定枚举成员的整数值,可以将枚举类型的值与其他类型的值进行比较。有了枚举类型,代码可读性更好,且易于维护和修改。