0
点赞
收藏
分享

微信扫一扫

C# 枚举

捡历史的小木板 2022-03-17 阅读 78
c#

什么是枚举

定义枚举类型

枚举类型的值

枚举声明时标记数字 

练习 


什么是枚举

存储下列装备时,  该如何存储? 0 表示头盔,  1 表示防弹衣,  2 表示背包

int equipType = 1;
switch (equipType)
{
case 0:
// 装备头盔
break;
case 1:
// 装备防弹衣
break;
case 2:
// 装备背包
break;
}

这样写阅读性差,  维护性差,  易出错 


定义枚举类型

枚举类型是自定义类型,  这是与之前学到的数据类型最大的差别
enum 枚举名 {枚举值1,  枚举值2...}

enum EquipType
{
Helmet,// 头盔
BodyArmor,// 防弹衣
Knapsack// 背包
}

EquipType可以被认为是一种数据类型,  也可以称之为是枚举类型 


枚举类型的值

枚举类型名.枚举值

例:
EquipType hel = EquipType.Helmet;// 头盔
EquipType ba = EquipType.BodyArmor;// 防弹衣
EquipType knap = EquipType.Knapsack;// 背包

 枚举是一个值类型枚举值还可标记一个整形数字予以匹配, 默认从0开始计数

例:
EquipType.Helmet;//头盔 --> 对应0
EquipTyp.BodyArmor;//防弹衣 --> 对应1
EquipType.Knapsack;//背包 --> 对应2

枚举声明时标记数字 

例: 装备类型
enum EquipType
{
Helmet = 10,// 头盔
BodyArmor = 20,//防弹衣
Knapsack//背包 --> 顺延标记,即21
}

因此, 枚举类型和整型可以进行相互的显示转换

int equipNum = (int)EquipType.Knasack;
EquipType equipType = (EquipType)1;

练习 

创建枚举表示游戏的所有状态 (1表示开始游戏, 2表示暂停游戏, 0表示结束游戏)
创建枚举表示背包当中的武器, 武器包括: 步枪, 机枪, 狙击枪, 军刀.
创建部门电话号码的枚举 (其中900代表市场部, 800代表人力资源部, 700代表行政部, 701代表财务部)

// 创建枚举表示游戏的所有状态(1表示开始游戏, 2表示暂停游戏, 0表示结束游戏)
enum State //状态
{
Start = 1, // 开始
Suspend = 2, // 暂停
End = 0 // 结束
}

// 创建枚举表示背包当中的武器, 武器包括: 步枪, 机枪, 狙击枪, 军刀.
enum Weapons //武器
{
Rifle, // 步枪
MachineGun, // 机枪
Msr, // 狙击枪
Saber // 军刀
}

// 创建部门电话号码的枚举(其中900代表市场部, 800代表人力资源部, 700代表行政部, 701代表财务部)
enum Sector // 部门
{
Market = 900, // 市场部
Human = 800, // 人力资源部
Administrative = 700, // 行政部
Finance = 701 // 财务部
}

要在方法外创建,  且它是一个值类型 

举报

相关推荐

0 条评论