enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外,其他类型的如字母、特殊符号、汉字都可以以任意组合存入enum当中去。
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("输入内容不合法!");
                }
            }
        }
    }
}
效果图: