• 枚举


    枚举:一组有限的值,也是一种值类型。(作用:约束变量的值)

      【例子】:星期仅包含星期一到星期天的7个特定值;性别仅包含男、女两个特定值;

      【方法】:关键字enum

        访问修饰符 enum 枚举名:基础类型

          {

            值列表

          }

      【注意】:

        1、枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。

        2、任意两个枚举成员不能具有相同的名称。

        3、每个枚举成员的常数值必须在该枚举的基础类型的范围之内。 

        4、在枚举类型中声明的第一个枚举成员它的默值为零。 以后的枚举成员值是将前一个枚举成员(按照文本顺序)的值加 1 得到的。这样增加后的值必须在该基础类型可表示的值的范围内;否则,会出现编译时错误。

          【例子】: public enum TimeofDay:uint 
                { 
                Morning, 
                Afternoon, 
                Evening 
                } 
                【结果】:Morning的值为0,Afternoon的值为1,Evening的值为2。

        5、允许多个枚举成员有相同的值. (枚举元素可以重写默认的初始值)

         没有显示赋值的枚举成员的值,总是前一个枚举成员的值+1. 

            【例子】:public enum Number 

                  { 

                  a=1, 
                  b, 
                  c=1, 
                  d 
                  } 
                  【结果】:b的值为2,d的值为2. 
                   
    注意:以上枚举值都不能超过它的基础类型范围。否则会报错。

        6、基础类型不能隐式转换为枚举类型 
          枚举类型也不能隐式转换为基础类型

            【例子】:int i=Number.a;//错误,要强制类型转换(int)Number.a 
                 Number n; 
                 n=2 //错误,要强制类型转换(Number)2

        7、枚举的引用:

            枚举名.值

        8、枚举中不能定义方法和属性

        9、枚举与类同级。枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符。枚举本身的修饰符仅能使用public和internal。

    更多关于枚举:【转载文链接

  • 相关阅读:
    Codeforces Round #568 (Div. 2) D. Extra Element
    Codeforces Round #567 (Div. 2) B. Split a Number
    [dp+博弈]棋盘的必胜策略
    [暴力+前缀和]2019牛客暑期多校训练营(第六场)Upgrading Technology
    [set]Codeforces 830B-Cards Sorting
    [二分]煤气灶
    [STL] Codeforces 69E Subsegments
    剑指offer——判断B树是否是A树的子结构
    在浏览器地址栏输入URL执行后网页显示全过程
    链表反转【图解】
  • 原文地址:https://www.cnblogs.com/pengyouqiang88/p/5114978.html
Copyright © 2020-2023  润新知