• 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

  • 相关阅读:
    破解版sublimeText3重新安装Package Control方法
    javascript中对象的属性的特性
    正则表达式元字符详解
    正则表达式学习笔记
    ExtJs布局大全
    js如何获取select下拉框的value以及文本内容
    ExtJS4之Ext.MessageBox的各种用法
    CODING 代码多仓库实践
    2019 DevOps 必备面试题——容器化和虚拟化
    拥抱微服务,CODING 即将上线单项目多仓库功能
  • 原文地址:https://www.cnblogs.com/pixy/p/5095697.html
Copyright © 2020-2023  润新知