比如我有一个枚举:
public enum Category{
SCIFI = 0,
HORROR,
FANTASY,
THRILLER,
ALL,
UNCATEGORIED
}如果我定义:
         Category category = Category.SCIFI;
         Console.WriteLine(category);
这样输出的是:SCIFI现在如果我有一个字符串:
         string s = "SCIFI";
我如何把它转换成上面的枚举类型呢?例如转换成 Category.SCIFI????

解决方案 »

  1.   

    string a = "SCIFI";
    Array CategoryArray = Enum.GetValues(typeof(Category));
    foreach(Category cat in CategoryArray)
    {
      if (cat.ToString().Equals(a))
    {
    //cat就是
        MessageBox.Show(((int)cat).ToString());
    }
    }
      

  2.   

    (Category)Enum.Parse(typeof(Category), "SCIFI")
      

  3.   

    (Category)Enum.Parse(typeof(Category), "SCIFI")
    例如 我有一个枚举 (波特率,整型)
    public enum LineSpeed : int
    {
    Baud_110 = 110,
    Baud_300 = 300,
    Baud_600 = 600,
    Baud_1200 = 1200,
    Baud_2400 = 2400,
    Baud_4800 = 4800,
    Baud_9600 = 9600,
    Baud_14400 = 14400,
    Baud_19200 = 19200,
    Baud_38400 = 38400,
    Baud_56000 = 56000,
    Baud_57600 = 57600,
    Baud_115200 = 115200,
    Baud_128000 = 128000,
    Baud_256000 = 256000,
    };
    而 我要把9600转换成枚举中 Baud_9600
    string MybaudRate=9600;
    private LineSpeed baudRate;
    baudRate   = (LineSpeed) int.Parse(MybaudRate);
      

  4.   

    刚才声明字符串MybaudRate忘记加引号了。
      

  5.   

    汗,老孟也有犯迷糊的时候,放着现成的Parse方法不用……
      

  6.   

    net_lover(孟子E章) 正解
    Enum类是专门用来处理枚举类型数据的,里面有很多实用的函数
      

  7.   

    怎么复杂啊。做标志看高人怎么解释了====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2