我想知道是否有选项可以签名枚举,例如,颜色,白色黑色和红色选项,直接用字符串“红色”。不使用if的... 我的意思是我不想写:
if (string1=="red") {mycolor=Color.red};
谢谢!
答案 0 :(得分:1)
您可以使用Enum
类中的Parse
方法:
mycolor = (Color)Enum.Parse(typeof(Color), string1, true);
答案 1 :(得分:1)
Color ColorEnum = (Color)Enum.Parse(typeof(Color), "YourValue");
或
Color ColorEnum = (Color)Enum.Parse(typeof(Color), "YourValue",true);
将一个或多个枚举常量的名称或数值的字符串表示形式转换为等效的枚举对象。
在第二种方法中, Bool指定操作是否不区分大小写