• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#枚举Enum[轉]

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#日期时间格式化发布时间:2022-07-13
下一篇:
C#实现XML文件数据库存储发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap