51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 1224|回复: 0

[基础教程] 枚举的含义及其应用

[复制链接]
  • TA的每日心情
    开心
    昨天 10:43
  • 签到天数: 958 天

    连续签到: 3 天

    [LV.10]以坛为家III

    380

    主题

    1554

    帖子

    7302

    积分

    Rank: 9

    积分
    7302

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2016-9-28 15:09:48 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    本章讲解如下枚举的如下几个知识点:
       1、什么是枚举?
       2、枚举是值类型还是引用类型?
       3、如何定义枚举?
       4、枚举的好处?
       5、枚举在实际系统开发过程中的用处?

       一、什么是枚举
               枚举:用来存放一组固定的常量
                      它是用来解决用户进行多次if /switch重复简单的判断
      二、枚举是值类型还是引用类型?
          枚举是值类型
      三、如何定义枚举?
          定义枚举的语法非常简单,如下:
    1. public enum 枚举名

    2. {

    3.      

    4. }

    5. 枚举的定义1,如下:
    6. public enum ColorEnum
    7. {
    8.      红色,          //注意,系统会默认给它赋值为0
    9.      蓝色,          //系统赋值为1
    10.      黑色,          //系统赋值为2
    11.      粉红色         //系统赋值为3
    12. }

    13. 枚举的定义方式2,如下:

    14. public enum ColorEnum
    15. {
    16.      红色=2,          //用户自己赋值 所以枚举是一组 符号名称/值 配对
    17.      蓝色,            // 系统赋值为3        
    18.      黑色=2,            //用户自己赋值2
    19.      粉红色            //系统赋值为3
    20. }

    21.   所以可以看出,系统会自己给没有赋值的常量赋值,
    22.               但赋值的方式是按照上一个的值+1来进行操作的

    23. 1、 如下枚举的结果正确的是(  )
    24.   public enum MyColor
    25.   {
    26.       红色=1,
    27.       蓝色=2,
    28.       黑色=1,
    29.       白色
    30.   }
    31.   程序输出: Console.WriteLine(  (int)MyColor.白色   );

    32.   A、1      B、2      C、3      D、程序编译错误



    33. 2、 如下枚举的结果正确的是(  )
    34.   public enum MyColor
    35.   {
    36.       红色=1,
    37.       蓝色=2,
    38.       红色=3,
    39.       白色
    40.   }
    41.   程序输出: Console.WriteLine(  (int)MyColor.红色   );

    42.   A、1      B、2      C、3      D、程序编译错误
    43.   
    44.    提示:枚举中等号左边的值不能重复.
    复制代码


    要记得枚举的关键字是 enum

      四、枚举的好处?
        1、便于用户回忆以前的资料
        2、便于少输入代码,使程序更容易编写和维护。
        3、防止用户乱输入

    五、枚举在实际系统开发过程中的用处?
        我举一个仿QQ换肤的简单方法来做一个试验,代码如下,请分析结果会是什么?
        QQEnum1.png
       我们来看一看,这样的代码确实有点不能让人接受,原因:
          1、结果错误,通过客户端传入一个字符串来进行判断,容易出错
          2、使用了多个if.. else if ..else if....语句块,
              基本上是在做同一件判断的事情
          3、如果这个程序拿给一个新手来做,那这个新员工来进行开发,那这个员工的记忆力要非常的好,
             不然一个字符输出就有可能得不到想要的结果.....

       那如何解决这种多次使用if/switch等简单语句判断呢?这时候枚举就出马了,代码如下:

    QQEnum3.png

    在用户调用的时候,系统会有提示,如图:
    QQEnum2.png

    使用枚举的好处,再次强调:
        1、便于用户回忆以前的资料
        2、便于少输入代码,使程序更容易编写和维护。
        3、防止用户乱输入

    那如何把字符串转换为枚举类型?
    如何把枚举添加到下拉菜单中?
    这两个问题,在下一章将会进行讲解.

    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    有问题需要咨询站长?| 申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    CopyRight © 2015-2020 51Halcon机器视觉. Tencent Cloud X3.4.

    快速回复 返回顶部 返回列表