枚举是一组命名整型常量,枚举类型是使用关键字enum来声明的
C#中枚举是数值型数据,枚举包含自己的值,且不能继承或传递继承
一般将枚举声明到命名空间下,类的外面,表示这个命名空间下,所有的类都可以访问
public enum week //public修饰符是enum默认的修饰符 可以不写
{
周一,周二,周三,周四,周五,周六,周天
}
默认下每个值会根据定义的顺序从0开始自动赋予每个值一个整型的值(整型的值是递增的),也可以自己定义一个整型的值(后面的整型值也是依次递增的)
枚举不需要实例化,直接进行调用
在调用的过程中存在数据类型的转换
1.
//直接进行调用
week week = week.周一;
Console.WriteLine(week);
//枚举类型转换为int类型
week week = week.周一;
Console.WriteLine((int)week); //用(int)来强制类型转换来输出索引值
//int类型转换为枚举类型
int thisint = 0;
Console.WriteLine((week)thisint); //将int类型数据转换为枚举中的字符串
//将枚举类型转化为字符串
week week = week.周一;
Console.WriteLine(week.ToString()); //这次输出的结果为字符串(string)类型而不是枚举(enum)类型
//将字符串转化为枚举类型
string str = "周一";
Console.WriteLine((week)Enum.Parse(typeof(week),str));
//通过Enum调用prase方法 prase方法第一个值为枚举的类型(typeof的作用是进行数据类型的声明),第二个值为要转换的值或字符串
//为确保成功转化 还将在Enum加上(week)强制类型转换