枚举,看着名称,这是啥玩意呢...
枚举,是一组命名整型常量,用于声明一组命名常数。
格式:enum 枚举类型名 {枚举成员列表}
例如:enum month {一月,二月,三月,四月,五月};
默认情况下,枚举成员列表中的每个符号代表一个常数,第一个常数是 0,每个名称对应的常数都比前边一个加1,上面举例的一月对应的常数是0,二月是1,依次类推..
觉得吧..枚举最大的作用就是可以自定义一个类型,方便编写和维护代码。
下面来演示枚举类型的使用:
namespace Code_200511_01
{
//定义一个枚举类型
enum month {一月,二月,三月,四月,五月 };
class Program
{
static void Main(string[] args)
{
//定义枚举类型变量x
month x = month.一月;
//定义枚举类型变量y,将整数3强制转换为month类型的值赋值给变量y
month y = (month)3;
Console.WriteLine(x.ToString());
Console.WriteLine(x);
Console.WriteLine(y.ToString());
Console.WriteLine("输出常量为4对应的名称:{0}", (month)4);
Console.WriteLine("输出名称为“五月”对应的常量:{0}", (int)month.五月);
Console.ReadKey();
}
}
}
执行结果:
下面来演示枚举类型的转换
/*
* qq状态枚举类型
*/
public enum qqState
{
onLine = 1,//在线
offLine,//离线
Leave,//离开
qMe//Q我
}
static void Main(string[] args)
{
#region 创建枚举类型,输出枚举以及int数据转换
qqState qq1 = qqState.Leave;
Console.WriteLine(qq1);
//转换成int类型
int num = Convert.ToInt32(qq1);
Console.WriteLine(num);
#endregion
Console.WriteLine("请输入您的QQ状态:1-onLine;2-offLine;3-Leave;4-qMe");
String input = Console.ReadLine();
switch (input)
{
case "1":
//枚举类型转换为string类型
qqState s1 = (qqState)Enum.Parse(typeof(qqState), input);
Console.WriteLine("您选择的QQ状态为{0}", s1);
break;
case "2":
qqState s2 = (qqState)Enum.Parse(typeof(qqState), input);
Console.WriteLine("您选择的QQ状态为{0}", s2);
break;
case "3":
qqState s3 = (qqState)Enum.Parse(typeof(qqState), input);
Console.WriteLine("您选择的QQ状态为{0}", s3);
break;
case "4":
qqState s4 = (qqState)Enum.Parse(typeof(qqState), input);
Console.WriteLine("您选择的QQ状态为{0}", s4);
break;
}
Console.ReadKey();
}