📅  最后修改于: 2023-12-03 15:00:33.770000             🧑  作者: Mango
在D编程语言中,枚举是一种用户定义的类型,它由一组命名的常量组成,这些常量具有相同的类型。枚举使用enum关键字定义。
使用enum关键字定义枚举。例如,定义一个Week枚举类型,其中包括七个枚举常量:
enum Week {
Mon,
Tue,
Wed,
Thu,
Fri,
Sat,
Sun
}
枚举常量是枚举成员的名称。枚举常量默认情况下从0开始递增。 如果需要指定一个非零的开始值或间隔,可以使用注释或指定显式的初始值。如下所示:
// 默认情况下从0开始递增
enum WeekEnum1 {
Mon, // 0
Tue, // 1
Wed, // 2
Thu, // 3
Fri, // 4
Sat, // 5
Sun // 6
}
// 显式指定枚举常量的值
enum WeekEnum2 {
Mon = 1,
Tue = 2,
Wed = 4,
Thu = 8,
Fri = 16,
Sat = 32,
Sun = 64
}
// 使用注释指定枚举常量的值
enum WeekEnum3 {
Mon, // 0
Tue, // 1
Wed = 5,// 5
Thu, // 6
Fri, // 7
Sat, // 8
Sun // 9
}
可以使用枚举名称来声明变量,如下所示:
Week day = Week.Mon;
使用switch语句处理枚举,如下所示:
switch(day) {
case Week.Mon:
writeln("Today is Monday.");
break;
case Week.Tue:
writeln("Today is Tuesday.");
break;
case Week.Wed:
writeln("Today is Wednesday.");
break;
case Week.Thu:
writeln("Today is Thursday.");
break;
case Week.Fri:
writeln("Today is Friday.");
break;
case Week.Sat:
writeln("Today is Saturday.");
break;
case Week.Sun:
writeln("Today is Sunday.");
break;
}
枚举是在D编程语言中定义常量的一种有效方式。它可以简化代码,并提高代码的可读性。在定义枚举时,请注意枚举常量的初始值和枚举常量之间的间隔。在使用枚举时,可以使用switch语句处理枚举常量。