enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外,其他类型的如字母、特殊符号、汉字都可以以任意组合存入enum当中去。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

enum的声明:enum A { a, b, c };

enum声明不同于数组,其只可以声明在Main()方法体外,在Main()中可以被调用。

enum的枚举数值默认是从0开始的,但是也可以强制元素序列进行改变。enum A {a=1, b, c}; 这样就可以实现了。

enum可以通过枚举名加点通过枚举的元素访问枚举数值。例:
int i = (int)A.a;枚举值虽然是int类型的,但是也必须进行显示的强制转换。

同样enum也可以通过枚举数值来访问枚举内的各个元素。方法是:Console.WriteLine( " (A)1 " );这样就可以访问enum内的各个元素。

下面是一个小程序,用enum来实现,实现星期几到日曜日、月耀日、火耀日等的转换。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace TestForEmue

{

    class Program

    {

        enum Weeks {  };

        static void Main(string[] args)

        {

            Console.WriteLine("输入数字“7”退出程序!");

            while (true)

            {

                Console.Write("输入一个数字(0-6,0代表星期日):");

                try

                {

                    int days = Int32.Parse(Console.ReadLine());

                    if (days == 0)

                    {

                        Console.WriteLine("星期日是{0}曜日", (Weeks)days);

                    }

                    //else if (days == 1 || days == 2 || days == 3 || days == 4 || days == 5 || days == 6)

                    else if (days >= 1 && days <= 6)

                    {

                        Console.WriteLine("星期{0}{1}曜日"days, (Weeks)days);//获得简称。

                    }

                    else if (days == 7)//判断退出条件

                    {

                        break;

                    }

                    else

                    {

                        Console.WriteLine("输入内容不合法!");

                    }

                }

                catch

                {

                    Console.WriteLine("输入内容不合法!");

                }

            }

        }

    }

}

效果图:

枚举类型enum的简单用法