C#:枚举是命名的整形常量的集合
在枚举(enum)中,整形常量指的是一组预定义的整数值,它们代表了枚举类型中的不同取值。这些整数值通常用于表示特定的状态、选项或标识符。
枚举类型是一种自定义的数据类型,它可以用于定义一组相关的命名常量。每个枚举常量都有一个与之关联的整数值,可以通过枚举常量的名称来访问它们。这些整数值默认从0开始递增,但也可以手动指定每个枚举常量的值。
例如,考虑以下表示星期几的枚举类型:
enum Weekday {
MONDAY, // 0
TUESDAY, // 1
WEDNESDAY, // 2
THURSDAY, // 3
FRIDAY, // 4
SATURDAY, // 5
SUNDAY // 6
}
在这个例子中,整形常量指的是0到6之间的整数值,它们分别代表了星期一到星期日。通过枚举类型和枚举常量,我们可以使用这些整数值来表示和操作星期几的相关信息。
枚举与switch是天生一对。switch是一种流程控制语句,通常与枚举类型或整数类型的变量一起使用,用于根据不同的取值执行不同的代码块。
enum Color {
RED,
GREEN,
BLUE
};
Color c = BLUE;
switch (c) {
case RED:
printf("The color is red.\n");
break;
case GREEN:
printf("The color is green.\n");
break;
case BLUE:
printf("The color is blue.\n");
break;
default:
printf("Unknown color.\n");
break;
}
在这个例子中,我们定义了一个枚举类型Color,其中包含三个枚举常量RED、GREEN和BLUE。然后,我们声明一个名为c的Color类型变量,并将其初始化为BLUE。
接下来,我们使用switch语句对变量c进行判断。如果c的值为RED,则执行第一个case分支中的代码;如果c的值为GREEN,则执行第二个case分支中的代码;如果c的值为BLUE,则执行第三个case分支中的代码。如果c的值不属于任何一个case分支,则执行default分支中的代码。
在本例中,由于c的值为BLUE,因此执行第三个case分支中的代码,输出结果为"The color is blue."。
通过switch和枚举类型的组合使用,我们可以方便地实现根据不同的取值执行不同的代码块的功能。