c#枚举类型

来源:互联网 发布:协方差矩阵计算公式 编辑:程序博客网 时间:2024/06/05 08:31
枚举类型是一种的值类型,它用于声明一组命名的常数。

(1) 枚举的声明:枚举声明用于声明新的枚举类型。
   
    访问修辞符 enum 枚举名:基础类型
    {
        枚举成员
    }

    枚举由int,uint,byte,sbyte,long,ulong,short,ushort这8种基元类型构成基类型,没有显式地声明基础类型的枚举声      明意味着所对应的基础类型默认为int。如:

    public enum Week:int { 
        Monday  = 1; 
        Tuesday = 2; 
        Wednesday = 3; 
        Thursday = 4; 
        Friday = 5; 
        Saturday = 6; 
        Sunday = 7; 
      }

(2) 枚举成员默认值    
     
        在枚举类型中声明的第一个枚举成员它的默值为零。 
        以后的枚举成员值是将前一个枚举成员(按照文本顺序)的值加 1 得到的。这样增加后的值必须在该基础类型可表示的值          的范围内;否则,会出现编译时错误。 如:

        public enum TimeofDay:uint
        {
            Morning,
            Afternoon,
            Evening
         }
         Morning的值为0,Afternoon的值为1,Evening的值为2。

(3)为枚举成员显示赋值

        允许多个枚举成员有相同的值.没有显示赋值的枚举成员的值,总是前一个枚举成员的值+1.示例:

        public enum Number
        {
            a=1,
            b,
            c=1,
            d
        }
        b的值为2,d的值为2.

(4)枚举类型与基础类型的转换

     基础类型不能隐式转换为枚举类型
     枚举类型也不能隐式转换为基础类型。示例:

    public enum Number
    {
        a,
        b,
        c,
        d
    }

    class Test
    {
        public static void Main()
        {
            int i=Number.a;//错误,要强制类型转换(int)Number.a
            Number n;
            n=2            //错误,要强制类型转换(Number)2
        }
    }
    注意:以上枚举值都不能超过它的基础类型范围。否则会报错.

(5)使用枚举类型

        using System;
        public enum TimeofDay
        {
             Morning,
             Afternoon,
             Evening
        }    
        class Test 
        {
             static void WriteGreeting(TimeofDay timeofDay)
             {            
                  switch(timeofDay)
                  {
                       case TimeofDay.Morning:
                            Console.WriteLine("good morning");
                            break;
                       case TimeofDay.Afternoon:
                            Console.WriteLine("good afternoon");
                            break;
                       case TimeofDay.Evening:
                            Console.WriteLine("good evening");
                            break;
                  }
             }

             static void Main() 
             {
                  WriteGreeting(TimeofDay.Morning); 
                  WriteGreeting(TimeofDay.Evening);
                  WriteGreeting(TimeofDay.Afternoon);
             }

             TimeofDay td = TimeofDay.Evening;
        }
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2岁的宝宝不听话怎么办 2岁宝宝总是不听话怎么办 2岁宝宝淘气不听话怎么办 两岁宝宝不听大人的话怎么办? 来月经奶量减少怎么办 月经来了奶少怎么办 来例假奶水少了怎么办 两岁宝宝吐口水怎么办 3岁宝宝不愿自己吃饭怎么办 婆家的人很烦人怎么办 三十了还没结婚怎么办 两岁宝贝断奶粉怎么办 宝宝断了母乳不吃奶粉怎么办 一岁宝宝不爱吃辅食怎么办 断奶后宝宝抗拒奶瓶怎么办 两岁宝宝断奶后不喝奶粉怎么办 两岁宝宝断奶不吃奶粉怎么办 宝宝断奶妈妈涨奶怎么办 三岁宝宝智商低怎么办 宝宝断奶晚上哭的厉害怎么办 2岁宝宝半夜喝奶粉怎么办 两岁宝宝不爱吃饭怎么办 快两岁的宝宝不爱吃饭怎么办 宝宝断奶后不愿意喝奶粉怎么办 宝宝断奶了不愿意喝奶怎么办? 宝宝断奶不愿意喝奶粉怎么办 宝宝断奶不愿意喝牛奶怎么办? 四个月宝宝断奶不吃奶粉怎么办 2岁不开口说话怎么办 八个月宝宝断奶不吃奶粉怎么办 宝宝断奶不喝奶粉怎么办 周岁 给娘家东西婆家看见怎么办 自己娘家妈总说婆家人坏话怎么办 娘家婆家老公都没有依靠怎么办? 2岁宝宝断奶粉怎么办 2岁宝宝夜奶频繁怎么办 宝宝15个月还在吃夜奶怎么办 宝宝两岁四个月还吃母乳怎么办 宝宝睡前老是找奶吃怎么办 宝宝戒奶晚上哭怎么办 宝宝戒奶半夜哭怎么办