C# 枚举和字符串互转

时间:2021-04-26 17:52:19

今天碰到好多种枚举类型需要一一和string互相转换 写了一个泛型的方法

 
 
 
  
  
  public 
  
  
  static 
  
  
  class EnumConvert<T>
  
  
  
{
/// <summary> Parse string to enum type
/// </summary>
/// <param name="s"> Input string </param>
/// <returns> Parsing result enum object </returns>
public static T ParseFromString( string s) { return (T)Enum.Parse( typeof(T), s); }
}

使用方法

 
 
 
  
  
  public 
  
  
  enum Fruit
  
  
  
{
Orange,
Apple,
Grape
}

class Program
{
static void Main( string[] args)
{
// enum to string
string s = Fruit.Grape.ToString();

// string to enum
Fruit f = EnumConvert<Fruit>.ParseFromString(s);
}
}

希望对大家有帮助

EDIT: 发现了更方便的方法

// T: Type, s: string
object o = Enum.Parse(typeof(T), s);
直接使用就好了。。。。