博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#枚举Enum[轉]
阅读量:4947 次
发布时间:2019-06-11

本文共 2153 字,大约阅读时间需要 7 分钟。

枚举是一个指定的常数,其基础类型可以是除 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.NoticeNoticeType noticeType3 = (NoticeType)Enum.Parse(typeof(NoticeType), "Notice");

 

获得文字描述:

using System.ComponentModel; // 先添加该引用enum Direction{    [Description("this means facing to UP (Negtive Y)")]    UP = 1,    [Description("this means facing to RIGHT (Positive X)")]    RIGHT = 2,    [Description("this means facing to DOWN (Positive Y)")]    DOWN = 3,    [Description("this means facing to LEFT (Negtive X)")]    LEFT = 4};//使用如下方法来获得文字描述:using System.Reflection;using System.ComponentModel;public static String GetEnumDesc(Direction e){    FieldInfo EnumInfo = e.GetType().GetField(e.ToString());    DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[]) EnumInfo.        GetCustomAttributes (typeof(DescriptionAttribute), false);    if (EnumAttributes.Length > 0)    {        return EnumAttributes[0].Description;    }    return e.ToString();}

转载于:https://www.cnblogs.com/ywkpl/p/8191617.html

你可能感兴趣的文章
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
日常一些出现bug的问题
查看>>
同时启动多个tomcat服务器
查看>>
怎么将iphone上的照片导出到本地文件
查看>>
Repeater+DataPagerSource分页
查看>>
模块化导出
查看>>
pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
查看>>
Sphinx 2.0.8 发布,全文搜索引擎 Installing Sphinx on Windows
查看>>
pod
查看>>
ResultSet 可滚动性和可更新性
查看>>
VS2013 C++代码运行问题
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
LUOGU P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…
查看>>
toad for oracle中文显示乱码
查看>>
scala的REPL shell的调用
查看>>
SQL中Group By的使用
查看>>
Mybatis映射原理,动态SQL,log4j
查看>>
哪个微信编辑器比较好用?
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>