公司动态

松软带你学开发:枚举的一些常用操作

发布时间:2019/8/6 10:30:14

1、如何把其它类型转换为枚举类型?

   2、如何把枚举中的值添加到下拉菜单中?

 

一、如何把其它类型转换为枚举类型?

       我们回顾一下有关字符串与数字之间的转换,如:

       string strValue="12";

       int value=int.Parse(strValue);    //使用int.Parse()就可以把字符串转换为整数

    

      那把字符串转换成枚举类型相对于要复一些,语法如下:

      Enum.Parse(枚举的类型,要转换的值);

      实际应用:

      现在有一个枚举

 

 现有一个字符串:string strValue="QQ2001";

使用枚举转换语句:Enum.Parse(枚举的类型,要转换的值);

  Enum.Parse(typeof(QQSkipEnum) , strValue);

  以上的结果是一个object类型,所以还需要强转一下,

 

  使用该枚举来接收,如下:

QQSkipEnum  qprase=

(QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue);

这样就把字符串转换成枚举类型成功,以上的代码相对于复杂一点,

但在实际的开发过程当中,是必不可少的,所以务必要记住

 

 注意:在把字符串转换为枚举过程中,该字符串必须在枚举中是存在此值的,如果该值不存在,

         系统就会提示错误

 

 如:

string strValue="qq2001";       

转换的时候:

QQSkipEnum  qprase=

(QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue);

这样是不行的,因为在枚举中没有 "qq2001"的定义,只有大写的“QQ2001”

 

二、如何把枚举中的值添加到下拉菜单中

    因为枚举是一组固定的常量,所以可以使用枚举中的自带方法,把这些常量转换为字符串数组,

  然后再添加到下拉菜单中。

   语法如下:

   string[]   qqSkip= Enum.GetNames(枚举类型);    //该方法返回的是字符串数组

  

  以下是效果图: