一切福田,不離方寸,從心而覓,感無不通。

c#中枚举类型的定义与使用

介绍
枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。
如果没有显式声明基础类型,则使用 Int32。
编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
定义
默认基数从O开始,也可指定数值。
enum Days Saturday=1, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
enum Colors Red 1, Green 2, Blue 4, Yellow };

使用
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 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 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");

from:http://www.cnblogs.com/an-wl/archive/2011/04/14/2015815.html