我有一个枚举,其中包含数百个条目。
我将以字符串形式获取枚举的值。是否有办法将字符串转换为枚举值?否则,我将不得不使用数百个if语句。
考虑
enum Colors { Red, Green, Blue, Yellow ... } there are more than 100 entries
我将在一个字符串变量中得到"Red"
。
String color = "Red"; // "Red" would be generated dynamically.
通常我们通过以下方式访问枚举值:Colors::Red
,Colors::Blue
等等... 是否有一种方式可以像这样访问它:
Colors::color; // i.e enumtype::stringVariable
在很多帖子中,都提到了我们可以使用map,但是在构建map时,我们最终会使用数百个if语句。
有没有什么方法可以避免这种情况呢?
Colors::color
是一个语法错误,在C语言中也没有预定义的名为String
的类型。你正在使用什么编程语言?是C#吗? - Keith Thompson