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

介绍
枚举是一个指定的常数,其基础类型可以是除 Char 外的任何整型。
如果没有显式声明基础类型,则使用 Int32。
编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
定义
默认基数从O开始,也可指定数值。
enum Days Saturday=1Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
enum Colors Red = 1Green = 2Blue = 4Yellow = 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 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");
posted @ 2011-04-14 11:41  StudyNLP  阅读(37512)  评论(0编辑  收藏  举报