📜  D编程-枚举(1)

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

D编程-枚举

在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语句处理枚举常量。