C# 枚举和字符串互转

今天碰到好多种枚举类型需要一一和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);
直接使用就好了。。。。
posted @ 2011-02-21 18:41  Zeicold  阅读(596)  评论(0编辑  收藏  举报