当前位置:  编程技术>.net/c#/asp.net

深入解析c#中枚举类型的定义与使用

    来源: 互联网  发布时间:2014-10-22

    本文导语:  介绍枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。 定义默认基数从O开始,也可指定数...

介绍
枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。
如果没有显式声明基础类型,则使用 Int32。
编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。

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

使用
Colors myColors = Colors.Red;
string strColor=myColors.tostring();
int    IntColor=(int)myColors ;

位或
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;

位与
Colors myColors = Colors.Red & Colors.Blue & Colors.Yellow;

遍历

代码如下:

foreach (string s in Enum.GetNames(typeof(Days)))
Response.Write(s + "--" + Enum.Parse(typeof(Days), s).ToString());

转换
代码如下:

Colors mc=Colors Enum.Parse(typeof(Colors ), "red");
if (System.Enum.IsDefined(typeof(Days), "Monday"))
Days ds= (Days)Enum.Parse(typeof(Days), "Monday");

实例二:
代码如下:

    public enum NoticeType
    {
        Notice = 'A',
        LabRule = 'H',
        HotInformation = 'N',
        Column = 'C',
        All = '1',
        Null = '0'
     }
     //新建枚举类型
        NoticeType noticeType1 = NoticeType.Column;

        //把枚举类型转换为string d="Column"
        string d = noticeType1.ToString();

        //取得枚举类型的基数 dd='C'
        char dd = (char)noticeType1;

        //通过基数取得对应的枚举类型 noticeType2 = NoticeType.Notice
        //(NoticeType)'A';  两种方式都可以
        NoticeType noticeType2 = (NoticeType)Char.Parse("A");

    //通过名称取得枚举类型 noticeType3 = NoticeType.Notice
        NoticeType noticeType3 = (NoticeType)Enum.Parse(typeof(NoticeType), "Notice");


    
 
 

您可能感兴趣的文章:

  • 深入C#任务管理器中应用程序选项隐藏程序本身的方法详解
  • 深入C# 内存管理以及优化的方法详解
  • 深入c# Func委托的详解
  • C# 多态性的深入理解
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解
  • 深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法
  • 深入Unix时间戳与C# DateTime时间类型互换的详解
  • C# interface与delegate效能比较的深入解析
  • C#中IList<T>与List<T>的区别深入解析
  • 深入分析C#中WinForm控件之Dock顺序调整的详解
  • .net/c#/asp.net iis7站长之家
  • C#泛型约束的深入理解
  • C#之CLR内存深入分析
  • 深入c#绘制验证码的详解
  • 深入c# 类和结构的区别总结详解
  • 深入c# GDI+简单绘图的具体操作步骤(一)
  • 深入探讨C#中的结构struct
  • 深入理解C# abstract和virtual关键字
  • c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析
  • c# mutex互斥量的深入解析
  • 深入理解C#中的枚举
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 深入解析C中的数值与真假
  • c/c++中变量的声明和定义深入解析
  • 深入解析C语言中常数的数据类型
  • 深入解析mysql中order by与group by的顺序问题
  • 深入解析Linux下MySQL数据库的备份与还原
  • 基于android中读取assets目录下a.txt文件并进行解析的深入分析
  • 深入解析StringBuffer和StringBuilder的区别
  • c++关键字mutable深入解析
  • 内联函数inline与宏定义深入解析
  • 深入解析Oracle参数及参数文件
  • Grow heap (frag case) 堆内存过大的深入解析
  • 深入解析mysql.sock不见的问题
  • 引用参数和传值参数的区别深入解析
  • Android中asset文件夹与raw文件夹的区别深入解析
  • EditText属性深入解析
  • 深入解析int(*p)[]和int(**p)[]
  • [Oracle] RAC 之 - 负载均衡深入解析
  • 深入解析System.load 与 System.loadLibrary
  • PHP中redis的用法深入解析
  • ubuntu 12.10 上 android 编译环境搭建的深入解析
  • Docker支持更深入的容器日志分析
  • 关于《深入浅出MFC》
  • Linux有没有什么好的高级的书,我要深入,
  • 深入理解linux内核
  • [100分]有没有关于binutils的深入的资料?或者深入底层的资料?
  • 深入理解PHP内核 TIPI
  • 想深入学习Java应该学习哪些东西
  • 哪位有《JSP深入编程》电子版?
  • 想要深入学习LINUX该学什么?
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • 如何深入Linux的内核学习?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3