首页 > 编程笔记 > C#笔记

C#枚举的用法

C# 中,枚举是一种独特的字段,是值类型数据,主要用于声明一组具有相同性质的常量。

例如,编写与日期相关的应用程序时,经常需要使用年、月、日、星期等日期数据,开发人员可以将这些数据组织成多个不同名称的枚举类型。使用枚举可以增加程序的可读性和可维护性。同时,使用枚举类型可以避免类型错误。

C# 中使用关键字 enum 类声明枚举,其形式如下:
enum 枚举名
{
   list1=value1,
   list2=value2,
   list3=value3,
   …
   listN=valueN
}
其中,大括号“{}”中的内容为枚举值列表,list1~listN 为枚举值的标识名称;value1~valueN 为整数数据类型,可以省略。每个枚举值中间用一个英文逗号分隔,最后一个枚举值后面可以不用加英文逗号。

说明,在定义枚举时,如果不对其进行赋值,在默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。

【实例】创建一个控制台应用程序,定义一个枚举,分别表示星期几;在 Main 方法中提示用户输入,判断用户的输入与哪个枚举值相匹配,并输出相应的星期几。
enum Week
{
    Mon,//星期一
    Tue,//星期二
    Wed,//星期三
    Thu,//星期四
    Fri,//星期五
    Sat,//星期六
    Sun//星期日
}
static void Main(string[] args)
{
     Console.Write("请输入星期对应的数字(例如0、1、2……6):");
     int iWeek = Convert.ToInt32(Console.ReadLine());//记录用户输入
     switch (iWeek)
     {
          case (int)Week.Mon:
               Console.WriteLine("今天是星期一");
               break;
          case (int)Week.Tue:
               Console.WriteLine("今天是星期二");
               break;
          case (int)Week.Wed:
               Console.WriteLine("今天是星期三");
               break;
          case (int)Week.Thu:
               Console.WriteLine("今天是星期四");
               break;
          case (int)Week.Fri:
               Console.WriteLine("今天是星期五");
               break;
          case (int)Week.Sat:
               Console.WriteLine("今天是星期六");
               break;
          case (int)Week.Sun:
               Console.WriteLine("今天是星期日");
               break;
          default:
               Console.WriteLine("信息输入有误");
               break;
    }
    Console.ReadLine();
}
上面代码中的 (int)Week.Mon 用来将枚举值转换为 int 类型数值。

程序运行结果为:

请输入星期对应的数字(例如0、1、2……6):4
今天是星期五

相关文章