使用字符串在c#中分配enum而不使用if

时间:2013-12-21 20:01:38

标签: c# string enums

我想知道是否有选项可以签名枚举,例如,颜色,白色黑色和红色选项,直接用字符串“红色”。不使用if的... 我的意思是我不想写:

if (string1=="red") {mycolor=Color.red};

谢谢!

2 个答案:

答案 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指定操作是否不区分大小写