c#string到枚举映射

时间:2014-05-14 09:29:20

标签: c# enums

我有以下枚举:

public enum ItemType
{
   Foo =0,
   Bar =1
}

然后是一个以小写形式传递给方法的字符串。

如何将字符串与枚举进行比较并返回枚举。

public ItemType Method(string value)
{
   ///compare string to enum here and return Enum
} 

并且该方法接收值为这样的参数(注意小写)

string value = "foo";  /// or value ="bar"

ItemType type = Method(value)

1 个答案:

答案 0 :(得分:-1)

您正在寻找Enum.TryParse方法。

public ItemType Method(string value)
{
    ItemType item;
    if(Enum.TryParse(value, true, out item)) return item;

    else /* throw exception or return defaul value  */
}

第二个参数允许您执行不区分大小写的搜索。