c#字符串到枚举的映射

本文关键字:映射 枚举 字符串 | 更新日期: 2023-09-27 18:03:11

我有以下Enum:

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)

c#字符串到枚举的映射

您正在寻找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  */
}

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