zoukankan      html  css  js  c++  java
  • C#基础(五)--枚举的含义及其应用

    本章讲解如下枚举的如下几个知识点:

       1、什么是枚举?

       2、枚举是值类型还是引用类型?

       3、如何定义枚举?

       4、枚举的好处?

       5、枚举在实际系统开发过程中的用处?

       一、什么是枚举

               枚举:用来存放一组固定的常量

                      是用来解决用户进行多次if /switch重复简单的判断

      

      二、枚举是值类型还是引用类型?

          枚举是值类型

      三、如何定义枚举?

          定义枚举的语法非常简单,如下:

      

    public enum 枚举名
     {
         
     }
     
     枚举的定义1,如下:
     public enum ColorEnum
     {
         红色,          //注意,系统会默认给它赋值为0
         蓝色,          //系统赋值为1
         黑色,          //系统赋值为2
         粉红色         //系统赋值为3
     }
     
     枚举的定义方式2,如下: 
     public enum ColorEnum
     {
         红色=2,          //用户自己赋值 所以枚举是一组 符号名称/值 配对
         蓝色,            // 系统赋值为3        
         黑色=2,            //用户自己赋值2
         粉红色            //系统赋值为3
     }
      所以可以看出,系统会自己给没有赋值的常量赋值,
                  但赋值的方式是按照上一个的值+1来进行操作的
     
    1、 如下枚举的结果正确的是(  )
      public enum MyColor
      {
          红色=1,
          蓝色=2,
          黑色=1,
          白色
      }
      程序输出: Console.WriteLine(  (int)MyColor.白色   );
     
      A、1      B、2      C、3      D、程序编译错误
     
     
    2、 如下枚举的结果正确的是(  )
      public enum MyColor
      {
          红色=1,
          蓝色=2,
          红色=3,
          白色
      }
      程序输出: Console.WriteLine(  (int)MyColor.红色   );
     
      A、1      B、2      C、3      D、程序编译错误
     
       提示:枚举中等号左边的值不能重复.
    枚举的语法

        要记得枚举的关键字是 enum

      四、枚举的好处?

        1、便于用户回忆以前的资料

        2、便于少输入代码,使程序更容易编写和维护。

        3、防止用户乱输入

     五、枚举在实际系统开发过程中的用处?

        我举一个仿QQ换肤的简单方法来做一个试验,代码如下,请分析结果会是什么?

         

       我们来看一看,这样的代码确实有点不能让人接受,原因:

          1、结果错误,通过客户端传入一个字符串来进行判断,容易出错

          2、使用了多个if.. else if ..else if....语句块,

              基本上是在做同一件判断的事情

          3、如果这个程序拿给一个新手来做,那这个新员工来进行开发,那这个员工的记忆力要非常的好,

             不然一个字符输出就有可能得不到想要的结果.....

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

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

    使用枚举的好处,再次强调:

        1、便于用户回忆以前的资料

        2、便于少输入代码,使程序更容易编写和维护。

        3、防止用户乱输入

    那如何把字符串转换为枚举类型?

    如何把枚举添加到下拉菜单中?

    这两个问题,在下一章将会进行讲解.

  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/gracewolf/p/5319310.html
Copyright © 2011-2022 走看看