枚举——C# Enum(谢绝转载)

    忽然忘了Enum是怎么用着来了,百度查了一下,也看了别人写的博客详解啥的,但还是觉得乱,无奈只好去找了找以前讲师的讲课文档,别说棒棒哒,以下内容,仅供学习,禁止转载。
 
 


using System;

namespace EnumType
{
    //枚举:
    /*
     * 枚举是程序员自定义类型,属于值类型
     * 通过Enum关键字声明枚举
     * 枚举中只有一种类型数据:给了名字的整型值
     * 枚举中包含:枚举成员
     * 枚举的作用:用来标识一系列有明确意义的整型值,每个成员名称对应一个具体的值
     */
    //声明枚举,标识星期
    //enum 枚举名称:枚举值类型(可以省略,省略默认就是int类型。如果不省略,可以标识为任意整型类型)
    enum WeekDay:byte{
        //枚举成员,多个枚举成员并列用逗号隔开,最后一个成员可以省略逗号
        //如果枚举成员没有明确标识对应值,默认从0,依次向下,每个成员递增加一
        //如果没有显式标识枚举值类型,默认是int类型
        //可以标识枚举成员名称对应具体值,从该成员向下,没有对应具体值的成员依次递增加一
        //枚举成员名称不可以重复,但是对应的值可以重复
        Monday = 1,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday
    }

    //声明一个枚举表示性别,内部值类型为short
    enum Sex:short{
        male,  //男
        female //女
    }


    class MainClass
    {
        public static void Main (string[] args)
        {
            //声明枚举变量
            //如果通过整型值给枚举变量赋值,需要强制类型转换
            //第一种赋值方式:通过整型值赋值
            WeekDay weekDay = (WeekDay)13;
            //第二种赋值方式:通过枚举成员赋值
            weekDay = WeekDay.Sunday;
            //第三种赋值方式:通过其他枚举变量赋值
            WeekDay weekDayTwo = WeekDay.Friday;
            weekDay = weekDayTwo;
            Console.WriteLine ("weekDay:{0}", weekDay);

            //将一个枚举成员转换成整型值,也要强制类型转换
            Console.WriteLine ("weekDay:{0}", (byte)weekDay);

            Console.WriteLine ("请输入一个1-7之间的数字:");
            byte week = Convert.ToByte (Console.ReadLine());
            switch ((WeekDay)week) {
            case WeekDay.Monday:
                Console.WriteLine("星期一");
                break;
            case WeekDay.Tuesday:
                Console.WriteLine("星期二");
                break;
            case WeekDay.Wednesday:
                Console.WriteLine("星期三");
                break;
            case WeekDay.Thursday:
                Console.WriteLine("星期四");
                break;
            case WeekDay.Friday:
                Console.WriteLine("星期五");
                break;
            case WeekDay.Saturday:
                Console.WriteLine("星期六");
                break;
            case WeekDay.Sunday:
                Console.WriteLine("星期日");
                break;
            }

            Console.WriteLine ("请输入0或1:");
            Sex sex = (Sex)Convert.ToInt16 (Console.ReadLine());
            switch (sex) {
            case Sex.male:
                Console.WriteLine("男");
                break;
            case Sex.female:
                Console.WriteLine("女");
                break;
            }

        }
    }
}



 




猜你喜欢

转载自blog.csdn.net/One_Piece_Fu/article/details/81062258