zoukankan      html  css  js  c++  java
  • 枚举

    一、枚举的定义

      public enum 枚举名
       {
         
       }

     
       定义方式1,如下:
       public enum ColorEnum1
       {
           红色,          //注意,系统会默认给它赋值为0
           蓝色,          //系统赋值为1
           黑色,          //系统赋值为2
           粉红色         //系统赋值为3
       }
     
       定义方式2,如下: 
       public enum ColorEnum2
       {
           红色=1,          //用户自己赋值 所以枚举是一组 符号名称/值 配对
           蓝色,            // 系统赋值为2       
           黑色=1,            //用户自己赋值1
           粉红色            //系统赋值为2
       }
      所以可以看出,系统会自己给没有赋值的常量赋值,但赋值的方式是按照上一个的值+1来进行操作的
     
    二、枚举的常用操作
      1、枚举转换成字符串
      (ColorEnum)Enum.Parse(typeof(ColorEnum),要转换的值);
      注意:在把字符串转换为枚举过程中,该字符串必须在枚举中是存在此值的,如果该值不存在,系统会提示错误;
      
      2、获取指定值的枚举的常量名称(如ColorEnum,根据1可获得红色)
      string str = Enum.GetName(typeof(ColorEnum2), 1);
     
      3、获取枚举类型的所有常量名称
      因为枚举是一组固定的常量,所以可以使用枚举中的自带方法,把这些常量转换为字符串数组
      //该方法返回的是字符串数组,该数组依次包含了枚举中的所有常量,如红色、蓝色等
      string[] enumArray = Enum.GetNames(typeof(ColorEnum));
      foreach (string str in enumArray)
      {
        //变量str即是枚举常量
      }
      
      4、获取枚举类型所有常量的数值
      注意:接受返回值不能使用字符串数组,要用Array,遍历时的实际类型则是数值自己的类型整型
      Array array = Enum.GetValues(typeof(ColorEnum));
       foreach (int i in array)
      {
        //变量i即是常量对应的数值    
      }
      
    二、枚举的好处

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

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

        3、防止用户乱输入

     

  • 相关阅读:
    自制 os 极简教程1:写一个操作系统有多难
    面试官问我redis数据类型,我回答了8种
    全网最硬核讲解计算机启动流程
    cinder-volume Required RPC API Old
    Docker swarm 容器流量追踪
    postgres schema访问权限设置
    骑士cms < 6.0.48任意文件包含漏洞简记
    Socket学习
    网络编程
    交换机和路由器的区别
  • 原文地址:https://www.cnblogs.com/qfcndtt/p/2795012.html
Copyright © 2011-2022 走看看