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

定义

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

enum Days
{
  Saturday, //默认基数从O开始
  Sunday, //
  Monday,
  Tuesday,
  Wednesday,
  Thursday,
  Friday
}; enum Colors
{
  Red = , //指定默认基数 1
  Green, //
  Blue = ,
  Yellow =
}; 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),)); //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); //基类-->Enum
Colors color = (Colors)Enum.ToObject(typeof(Colors), ); //基类-->Enum
NoticeType noticeType = (NOticeType)'A'; //基类-->Enum
NoticeType noticeType = (NoticeType)Char.Parse("A"); //基类-->Enum 另一种方式 bool isdefined = Enum.IsDefined(typeof(Colors), )); //判断基类值为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

C#枚举类型的更多相关文章

  1. Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件

    在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...

  2. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

  3. 第三条:用私有构造器或者枚举类型强化Singleton属性

    1.使用单元素的枚举类型 public enum Singleton implements Serializable { INSTANCE; private String field; public ...

  4. 在WPF中使用变通方法实现枚举类型的XAML绑定

    问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...

  5. 窥探Swift之别样的枚举类型

    想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...

  6. C#枚举类型的常用操作总结

    枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...

  7. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

  8. Python 中的枚举类型~转

    Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...

  9. java 枚举类型 构造函数及用法

    // 1. 定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int n ...

  10. .NET 中关于 TypeCode 和枚举类型的问题

    因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观.因此 C# 中对常见类型提供了一组枚举值,也就是 Ty ...

随机推荐

  1. 浏览器兼容innerText nextElementSibling firstElementChild

    //下面是封装的方法,可以直接使用 //获dom对象的innerText的取值 function getInnerText(element){ //判断浏览器是否支持innerText if(type ...

  2. java抽象-老师的生日-逻辑思维-有趣的面试题-遁地龙卷风

    (-1)写在前面 都快去北京了,硬生生的安排一场java考试,对于那些特别细节的东西我忘了吧也不觉得有什么不好,以前都记得,也都见过,只不过平时不常用连接断了,但是你死记硬背是没用的,一段时间后还是会 ...

  3. MySQL 常用SQL技巧和常见问题

    一.巧用正则表达式 二.巧用RAND() 提取随机行 利用rand() 的随机数功能,结合 order by 子句完成随机抽取某些行的功能. 三.利用 group by 的 with rollup 子 ...

  4. 【Python基础学习五】列表,元祖,字典

    1.列表(list) 列表是Python的一种内置数据类型,list是一种有序的集合,可以随时添加和删除其中的元素,就像动态数组一样.获取list中的元素用角标获取,角标可以使用正角标,也可以使用负角 ...

  5. MongoDB C Driver使用教程

    MongoDB C Driver使用教程 转载请注明出处http://www.cnblogs.com/oloroso/ 本指南提供简介 MongoDB C 驱动程序. 在 C API 的详细信息,请参 ...

  6. [转]MySQL 最基本的SQL语法/语句

    MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下.   DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...

  7. NameError: name 'sys_platform' is not defined

    pip install --upgrade distribute

  8. [转]Android样式的开发:shape篇

    转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇A ...

  9. Redis学习笔记8--Redis发布/订阅

    发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似.pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者 ...

  10. SSO 单点登录实现

    .NET基于Redis缓存实现单点登录SSO的解决方案 http://www.cnblogs.com/yinrq/p/5276628.html 共享cookie的方案 http://www.codep ...