zoukankan      html  css  js  c++  java
  • C#基础(六)--枚举的一些常用操作

    本章将介绍以下几点   

       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(枚举类型);    //该方法返回的是字符串数组

      

      以下是效果图:

       

      如果还不太明白,可以去MSDN:

      http://msdn.microsoft.com/zh-cn/library/sbbt4032(VS.80).aspx

      以下是Enum成员,请大家了解一下:

      http://msdn.microsoft.com/zh-cn/library/system.enum_members(VS.80).aspx

      总结:枚举在我们实际项目开发中,非常的重要,枚举转换和如何得到枚举的值,

              这些方法大家必须要记下来,学程序的最好的方法就是,练,练,练,再练。

               祝大家学习快乐!

  • 相关阅读:
    条款04:确定对象在使用前已经被初始化
    条款06:若不想使用编译器自动生成的函数,就应该明确拒绝
    计算机操作系统之死锁的原因和必要条件
    条款10:令operator=返回一个reference to *this
    条款02:尽量以const,enum,inline代替#define
    条款11:在operator=处理自我赋值
    计算机操作系统之进程与线程
    堆排序
    NodeJS For Windows
    我常用的linux命令
  • 原文地址:https://www.cnblogs.com/gracewolf/p/5319351.html
Copyright © 2011-2022 走看看