我可以将字符串转换为 D 中的枚举值吗?

时间:2021-05-04 07:19:11

标签: enums type-conversion d

我声明了以下使用字符串作为其底层值的枚举:

enum IssueType : string {
    STUDENT_LEAVING = "leaving",
    STUDENT_CONFLICT = "conflict",
    NEEDS_ARCHIVE = "archive",
    OTHER = "other"
}

我希望能够做到以下几点:

string s = "conflict";
IssueType type = std.conv.to!IssueType(s);

目前,只能通过为枚举值名称之一提供区分大小写的匹配来将字符串转换为枚举,就像在这种情况下字符串 "STUDENT_CONFLICT" 将被接受,而我想要"conflict" 被接受。

1 个答案:

答案 0 :(得分:2)

只需将字符串转换为 enum 类型。

IssueType type = cast(IssueType)s;
相关问题