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