zoukankan      html  css  js  c++  java
  • C#枚举类型

    枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。

    定义

    默认基数从0开始,也可指定数值。

    enum Days 
    { 
      Saturday,     //默认基数从O开始
      Sunday,       //1
      Monday,
      Tuesday,
      Wednesday,
      Thursday,
      Friday
    };
    
    enum Colors 
    { 
      Red = 1,    //指定默认基数 1
      Green,      //2
      Blue = 4,
      Yellow = 8
    };

    public enum NoticeType
    {
        Notice = 'A',
        LabRule = 'H',
        HotInformation = 'N',
        Column = 'C',
        All = '1',
        Null = '0'
    };

    使用

    Enum 提供一些实用的静态方法:

    • 比较枚举类的实例的方法
    • 将实例的值转换为其字符串表示形式的方法
    • 将数字的字符串表示形式转换为此类的实例的方法
    • 创建指定枚举和值的实例的方法。
    Colors myColors = Colors.Red;                                          //新建枚举对象
    NoticeType noticeType = NoticeType.Column;                             //新建枚举对象
    
    string strColor = myColors.tostring() ;                                //Enum-->String,strColor值为"Red"
    string strColor = Enum.GetName(typeof(Colors),2));                     //Enum-->String,strColor值为"Green"
    string strColor = Enum.GetName(typeof(Colors), Colors.Blue));          //Enum-->String,strColor值为"Blue"
    
    string[] strDayArray = Enum.GetNames(typeof(Days));                    //Enum-->String[],用于遍历
    
    Days ds = (Days)Enum.Parse(typeof(Days), "Monday");                    //String-->Enum
    Colors mc = (Colors)Enum.Parse(typeof(Colors ), "red");                //String-->Enum
    NoticeType nt=(NoticeType)Enum.Parse(typeof(NoticeType), "Notice");    //String--Enum
    
    
    int IntColor=(int)Colors.Red;                                          //Enum-->基类,IntColor值为1
    byte byteColor=(byte)Colors.Green;                                     //Enum-->基类
    char dd = (char)noticeType;                                            //Enum-->基类,dd值为'C'
    
    Colors color = (Colors)2;                                              //基类-->Enum
    Colors color = (Colors)Enum.ToObject(typeof(Colors), 2);               //基类-->Enum
    NoticeType noticeType = (NOticeType)'A';                               //基类-->Enum
    NoticeType noticeType = (NoticeType)Char.Parse("A");                   //基类-->Enum 另一种方式  
    
    
    bool isdefined = Enum.IsDefined(typeof(Colors), 2));                   //判断基类值为2的枚举是否存在
    bool isdefined = System.Enum.IsDefined(typeof(Days), "Monday")         //判断Name值为"Monday"的枚举是否存在
    
    
    Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;            //位或
    Colors myColors = Colors.Red & Colors.Blue & Colors.Yellow;            //位与

    参考资料

    http://www.cnblogs.com/an-wl/archive/2011/04/14/2015815.html

    http://www.cnblogs.com/pato/archive/2011/08/15/2139705.html

  • 相关阅读:
    Eclipse创建Python工程
    MySQL python安装
    pip安装-python2.7.15
    接口测试-HTTP重点知识及 测试工具
    接口测试-基础
    关闭win10的自动更新功能
    高版本MySQL(5.7,5.8)的JDBC连接新问题
    错误:java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
    Idea SpringBoot工程提示 "Error running 'xxxx'": Command line is too long... 问题解决
    错误:23:36:21.161 [main] ERROR org.springframework.boot.SpringApplication
  • 原文地址:https://www.cnblogs.com/pixy/p/5095697.html
Copyright © 2011-2022 走看看