C#枚举(Enum)

枚举是直接在命名空间、类或结构中使用 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

 }

枚举可以是任何数字数据类型,例如 bytesbyteshortushortintuintlong 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是一个抽象类。

你可能感兴趣的:(c#,c#,p2p,microsoft)