我有一个枚举,我想让这些枚举类型在开关情况下成为字符串。
enum WeekEnum
{
Mon = 0;
Tue = 1;
Wed = 2;
}
std::string weekEnumToStr(int n)
{
std::string s("unknown");
switch (n)
{
case 0: { s = "Mon"; } break;
case 1: { s = "Tue"; } break;
case 2: { s = "Wed"; } break;
}
return s;
}
因此,在上面我硬编码“Mon”,而不是有一种方法,我们可以直接将枚举类型作为字符串。就目前而言,如果我在交换机案例中传递枚举类型,我将获得id 0、1或2,但我需要Mon/Tue/Wed作为字符串
可以使用某些容器将枚举值映射到字符串。例如std::array
。
#include <string>
#include <array>
#include <iostream>
enum WeekEnum
{
Mon = 0,
Tue = 1,
Wed = 2
};
std::array<std::string, 3> enumNames{"Mon", "Tue", "Wed"};
std::string weekEnumToStr(unsigned n)
{
if (n < 3)
{
return enumNames[n];
}
return "unknown";
}
int main()
{
std::cout << weekEnumToStr(Tue);
}
例如,我如何做类似的事情: 结果示例:
我有一个枚举文件,在其中我为PaymentTypes定义了一个对象: 这样我就有了可以使用的东西:
考虑一下,我得到了以下枚举类: 我想指定ostream操作符( 并获得以下输出,这是Foo。 我的问题是: 是否有存储枚举“名称说明符”的地方?(即,对于枚举类TestEnum,它是None、Foo和Bar),因此我可以编写一个函数(或者至多是函数模板)来指定TestEnum的ostream操作符,例如: 到目前为止,我是这样做的: 我见过一些使用库的解决方案,但这次我不希望使用它。
本文向大家介绍Java将枚举转换为字符串,包括了Java将枚举转换为字符串的使用技巧和注意事项,需要的朋友参考一下 示例 有时您想将枚举转换为String,有两种方法可以实现。 假设我们有: 那么,我们如何将类似的东西转换Fruit.APPLE为"APPLE"? 使用转换 name() name()是一个内部方法,enum该方法返回String枚举的表示形式,返回值精确String表示枚举值的定义
我在TypeScript中定义了以下枚举: 现在在我的函数中,我接收颜色作为字符串。我已经尝试了以下代码: 如何将该值转换为枚举?
我的JSON如下所示: 我的课程如下所示: 如何反序列化到映射如和到