enum代表枚举,它是一组命名的整数常量,它们的默认整数值以0开头,我们还可以设置任何其他序列的值。
一个枚举通过使用enum关键字定义。
语法:
    enum enum_name {enumeration_list };范例1:
在这里,我们使用三个常量RED,GREEN和BLUE定义了一个名为colors的枚举,我们没有使用任何值对其进行初始化。因此,常数将具有值0,1和2。
using System;
using System.Text;
namespace Test
{
    class Program
    {
        //声明枚举
        enum colors { RED, GREEN, BLUE };
        static void Main(string[] args)
        {            
            //打印值
            Console.WriteLine("Red: {0}", (int)colors.RED);
            Console.WriteLine("Green: {0}", (int)colors.GREEN);
            Console.WriteLine("Blue: {0}", (int)colors.BLUE);
			
            //按ENTER退出
            Console.ReadLine();
        }
    }
}输出结果
Red: 0 Green: 1 Blue: 2
范例2:
在这里,我们用三个常量RED,GREEN和BLUE定义了一个名为colors的枚举,我们用10初始化RED ,用20初始化GREEN,并且BLUE没有初始化任何值,所以它将花费21。因此,常数将具有值10,20和21。
using System;
using System.Text;
namespace Test
{
    class Program
    {
        //声明枚举
        enum colors { RED = 10, GREEN = 20, BLUE };
        static void Main(string[] args)
        {            
            //打印值
            Console.WriteLine("Red: {0}", (int)colors.RED);
            Console.WriteLine("Green: {0}", (int)colors.GREEN);
            Console.WriteLine("Blue: {0}", (int)colors.BLUE);
			
            //按ENTER退出
            Console.ReadLine();
        }
    }
}输出结果
Red: 10 Green: 20 Blue: 21
示例3:使用foreach循环打印枚举的常量名称和值
在这里,我们使用Enum.GetValues(typeof(Days)返回所有枚举值的数组,并获取enum的名称,我们使用Enum.GetName(typeof(Days),day)。在这里,Days是枚举名称,day是索引。
using System;
using System.Text;
namespace Test
{
    class Program
    {
        //声明枚举
        enum Days { SUN, MON, TUE, WED, THU, FRE, SAT };
        static void Main(string[] args)
        {
            //使用foreach循环打印枚举
            foreach (int day in Enum.GetValues(typeof(Days)))
            {
                Console.WriteLine("Name: {0}, Value: {1}", Enum.GetName(typeof(Days), day), (int)day);
            }
			
            //按ENTER退出
            Console.ReadLine();
        }
    }
}输出结果
Name: SUN, Value: 0 Name: MON, Value: 1 Name: TUE, Value: 2 Name: WED, Value: 3 Name: THU, Value: 4 Name: FRE, Value: 5 Name: SAT, Value: 6