C#枚举类型
枚举是一个指定的常数,其基础类型可以是除 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#枚举类型的更多相关文章
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
- 第三条:用私有构造器或者枚举类型强化Singleton属性
1.使用单元素的枚举类型 public enum Singleton implements Serializable { INSTANCE; private String field; public ...
- 在WPF中使用变通方法实现枚举类型的XAML绑定
问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...
- 窥探Swift之别样的枚举类型
想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...
- C#枚举类型的常用操作总结
枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...
- TypeScript中的枚举类型
TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...
- Python 中的枚举类型~转
Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...
- java 枚举类型 构造函数及用法
// 1. 定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int n ...
- .NET 中关于 TypeCode 和枚举类型的问题
因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观.因此 C# 中对常见类型提供了一组枚举值,也就是 Ty ...
随机推荐
- AJAX + WebService 实现文件上传
1. 界面HTML <p >上传文件: <input id="zfiles" type="file" name="file" ...
- 2016 GitHub章鱼猫观察报告之开源统计
导读 GitHub 又发布了一年一度的章鱼猫观察报告.在这个报告中,分别对开源和社区做了一些有趣的统计,现将其中一些有趣的数据和趋势撷取出来分享给大家.完整的报告请移步Github. GitHub 上 ...
- Maven 入门 (2)—— 创建Maven项目
http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...
- 【Python基础学习六】函数
1.创建函数 Python中函数的关键字def来定义. def fibs(num): f=[0,1] for i in range(1,num): f.append(f[-1]+f[-2]) retu ...
- maven项目打包成可执行的jar
编写功能类: package com.hpay.FileToZkUtil; import java.io.File; import java.io.FileInputStream; import ja ...
- Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException:
严重: Exception sending context initialized event to listener instance of class org.springframework.we ...
- python之路十一
RabbitMQ基本概念RabbitMQ , 是一个使用 erlang 编写的 AMQP (高级消息队列协议) 的服务实现. 简单来说, 就是一个功能强大的消息队列服务.通常我们谈到队列服务, 会有三 ...
- ViewState与Session [转]
昨天偶然看到网上有人讨论究竟是该用viewstate还是session来保存信息. 忽然觉得有必要去深入的研究一下这两个东东了,我们先来看深入分析一下viewstate, 为了分析的相对完整性,先从简 ...
- 《sqoop安装和配置》
参考帖子http://blog.csdn.net/jiedushi/article/details/6663177 http://blog.csdn.net/ww1982_0_0_0/article/ ...
- Java设计模式之行为型模式
行为型模式共11种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 策略模式:策略模式的决定权在用户,系统本身提供不同 ...