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 ...
随机推荐
- Asp.Net Core--授权介绍
翻译如下: 授权指的是确定一个用户能够做什么的过程.例如用户可以Adam能够创建一个文档库,添加文档,编辑文档并将其删除.用户Bob可能只被授权在单个库中读取文件. 授权与验证,这是查明谁一个用户的过 ...
- touch移动触屏滑动事件
移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件 ...
- $.prop()和$.attr() 区别用法
都用于读取和设置DOM元素节点的属性 不同: $.attr()用于DOM元素本身的属性 $.prop()用于DOM节点对应的JS属性(源于DOM元素到JS对象的映射) 源于两者在jquery类库的实现 ...
- HTML文档、javascript脚本的加载与解析
1.onload事件 1.1 onload事件分类 a.文档加载完成事件(包括脚本.图片等资源都加载完),绑定方法:<body onload="doSomething()"& ...
- Git教程推荐
推荐:廖雪峰的官方网站-Git教程,面向初学者,浅显易懂.
- 【转】Drawable /Bitmap、String/InputStream、Bitmap/byte[]
原文:http://wuxiaolong.me/2015/08/10/Drawable-to-Bitmap/ Drawable互转Bitmap Drawable转Bitmap 1234 Resourc ...
- 前端 js 发送验证码
1. 代码如下: <html> <head> <meta charset="utf-8"> <title></title> ...
- oracle数据库创建后要做的事情
在SQL Plus工具中(oracle自带)用conn /as sysdba登录数据库. 一:先新建用户 create user test01 identified by test02(test01为 ...
- C++ 的二进制语法与语义
/* 转载请注明出处:http://www.cnblogs.com/Martinium/p/binary_literal.html */ 二进制的语法 C/C++ 默认数字使用十进制,八进制使用前缀 ...
- 无法从“char*转换为“LPCWSTR”
解决办法: 第一种方法:工程属性->配置属性->右边 项目默认值->字符集 改为未设置 第二种:一般直接加个L在前面,当是字符串常量的时候可以这样,也可以_T(x)等 来自:软件 ...