当前位置: 移动技术网 > IT编程>开发语言>c# > 深入解析c#中枚举类型的定义与使用

深入解析c#中枚举类型的定义与使用

2019年07月18日  | 移动技术网IT编程  | 我要评论
介绍枚举是一个指定的常数,其基础类型可以是除 char 外的任何整型。如果没有显式声明基础类型,则使用 int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组

介绍
枚举是一个指定的常数,其基础类型可以是除 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");

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网