枚举是直接在命名空间、类或结构中使用 enum 关键字定义的。所有常量名都可以在大括号内声明,并用逗号分隔。下面定义了工作日的枚举。
示例:定义一个枚举
enum WeekDays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
上面,WeekDays枚举在每行中声明成员,每行用逗号分隔。
枚举值
如果未将值分配给枚举成员,则编译器将在默认情况下为每个成员分配整数值(从零开始)。枚举的第一个成员将为0,并且每个连续枚举成员的值将增加1。
示例:默认枚举值
enum WeekDays
{
Monday, // 0
Tuesday, // 1
Wednesday, // 2
Thursday, // 3
Friday, // 4
Saturday, // 5
Sunday // 6
}
可以为枚举成员分配不同的值。枚举成员的默认值的更改将自动按顺序向其他成员分配增量值。
示例:为枚举成员分配值
enum Categories
{
Electronics, // 0
Food, // 1
Automotive = 6, // 6
Arts, // 7
BeautyCare, // 8
Fashion // 9
}
您甚至可以为每个成员分配不同的值。
示例:为枚举成员分配值
enum Categories
{
Electronics = 1,
Food = 5,
Automotive = 6,
Arts = 10,
BeautyCare = 11,
Fashion = 15,
WomanFashion = 15
}
枚举可以是任何数字数据类型,例如 byte,sbyte,short,ushort,int,uint,long 或 ulong。但是,枚举不能为字符串类型。
在 enum 名称后指定类型为:type。下面定义了字节 enum。
示例:字节枚举
enum Categories: byte
{
Electronics = 1,
Food = 5,
Automotive = 6,
Arts = 10,
BeautyCare = 11,
Fashion = 15
}
访问一个枚举
可以使用点语法: enum.member 访问枚举
示例:访问枚举
enum WeekDays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Console.WriteLine(WeekDays.Monday); // 星期一
Console.WriteLine(WeekDays.Tuesday); // 星期二
Console.WriteLine(WeekDays.Wednesday); // 星期三
Console.WriteLine(WeekDays.Thursday); // 星期四
Console.WriteLine(WeekDays.Friday); // 星期五
Console.WriteLine(WeekDays.Saturday); // 星期六
Console.WriteLine(WeekDays.Sunday); // 星期日
转换枚举
从枚举类型转换为其基础整数类型需要显式强制转换。
示例:枚举转换
enum WeekDays
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Console.WriteLine(WeekDays.Friday); //输出:星期五
int day = (int) WeekDays.Friday; // 枚举到int的转换
Console.WriteLine(day); //输出:4
var wd = (WeekDays) 5; // 从int到枚举的转换
Console.WriteLine(wd);//输出:星期六
enum是一个抽象类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)