c# 枚举
命名空间: System
程序集: mscorlib(mscorlib.dll 中)
定义一个枚举类型
public enum Week
{
[Description("星期一")] //枚举描述
Monday=, //设置枚举的成员常量值
[Description("星期二")]
Tuesday=,
[Description("星期三")]
Wednesday =,
[Description("星期四")]
Thursday=,
[Description("星期五")]
Friday=,
[Description("星期六")]
Saturday=,
[Description("星期七")]
Sunday=
}
备注:
1.成员的值可以一样的,但是成员不行
例如:你可以设置 public enum Week{Monday=1,Tuseday=1}
但是你不可以出现有两个成员是一样的,例如:public enum Week{Monday=1,Monday=2,Tuseday=3} 2. Console.WriteLine((int)EnumDemo.Week.Friday);//输出 5 3. string[] array1 = Enum.GetNames(typeof(EnumDemo.Week));
Console.WriteLine(array1[1]); //输出Tuesday Enum.GetNames 方法 (Type) ,检索指定枚举中常数名称的数组。
参数enumTypeType: System.Type枚举类型。
返回值Type: System.String[]enumType 的常数名称的字符串数组。
4. Array array2 = Enum.GetValues(typeof(EnumDemo.Week));
Console.WriteLine(array2.GetValue(1)); //输出:Tuesday Enum.GetValues 方法(Type)
参数enumTypeType: System.Type
返回值Type: System.Array
4. Type t = Enum.GetUnderlyingType(typeof(EnumDemo.Week));
Console.WriteLine(t); //输出 System.Int32 Enum.GetUnderlyingType 方法 (Type)
参数enumType,基础类型将被检索的枚举。
返回值Type: System.Type enumType 的基础类型
6. //由值获取内容
int i = 1;
string Name = Enum.Parse(typeof(EnumDemo.Week), i.ToString()).ToString();
Console.WriteLine(Name);//输出:Monday 7. //由内容获得值
string Name2 = "Monday";
int j = Convert.ToInt32(Enum.Parse(typeof(EnumDemo.Week), Name2));
Console.WriteLine(j);//输出:1
8.
Dictionary<string, int> Sexlist = new Dictionary<string, int>();
string[] keys = Enum.GetNames(typeof(EnumDemo.Week));
Array values = Enum.GetValues(typeof(EnumDemo.Week));
for (int i = 0; i < keys.Length; i++)
{
Sexlist.Add(keys[i], (int)values.GetValue(i));
} 9.
/// <summary>
/// 获取描述信息
/// </summary>
/// <param name="en"></param>
/// <returns></returns>
public static string description( Enum en)
{
Type type = en.GetType();
MemberInfo[] memInfo = type.GetMember(en.ToString());
if (memInfo != null && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
if (attrs != null && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return en.ToString();
}
Console.WriteLine(description(EnumDemo.Week.Friday));//输出:星期五
c# 枚举的更多相关文章
- Swift enum(枚举)使用范例
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...
- Objective-C枚举的几种定义方式与使用
假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...
- Help Hanzo (素数筛+区间枚举)
Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000). (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...
- 枚举:enum
枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...
- .NET 基础一步步一幕幕[方法、结构、枚举]
方法.结构.枚举 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,写void 方法名:P ...
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
- 用枚举enum替代int常量
枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...
- c#编程基础之枚举
枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
随机推荐
- js中几种常用的输出方式
1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.doc ...
- jsfl脚本设置导出AS链接名遇到的奇怪问题
今天写jsfl脚本发现一个奇怪的问题,脚本用于对库对象设置AS链接名,代码如下: var item = fl.getDocumentDOM().library.items[0];var exportN ...
- MySQL 表分区 报错:Table has no partition for value XXX
对已存在的未分区的表进行分区 alter table test PARTITION BY RANGE(id) (PARTITION p1 VALUES LESS THAN (101),PARTITIO ...
- 【Beta】Daily Scrum Meeting第二次
1.任务进度 学号 已完成 接下去要做 502 系负责人及所负责专业的表 写出PHP测试的demo:将okHttp的请求放在非UI线程中执行 509 PHP更该用户信息:更新系负责人所负责系:删除任务 ...
- tomcat之Session的管理
Session是由服务器端的应用服务器容器(如Tomcat.Jetty)存储的.下面分析一下Tomcat是如何管理Session的. 转自:tomcat架构分析 (Session管理) Tomcat中 ...
- pip安装MySQL-python报错
pip install MySQL-pythonerror: command 'gcc' failed with exit status 1 yum install -y python-develpi ...
- 线程处理模型 由于 SynchronizationContext 引起的死锁问题解决
由于GUI 应用程序 不能使用线程池的线程更新UI,只能使用 GUI 线程更新,所以在 await 前后需要保证是同一个 GUI 线程 ASP.NET 程序 的线程处理客户端请求的时候,需要假定客户端 ...
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
安装篇: 一.安装Apache yum install httpd #根据提示,输入Y安装即可成功安装 /etc/init.d/httpd start#启动Apache 备注:Apache启动之后会提 ...
- java的jxl技术导入Excel
项目结构: http://www.cnblogs.com/hongten/gallery/image/112177.html 在项目中我们看到Reference Libraries中的jxl.jar包 ...
- SqlServer游标简介
游标实例: Declare MyCusror Cursor Scroll For Select * From Master_Goods Order By GoodsID Ope ...