CS2L2——枚举
CS2L2——枚举
本章代码关键字
1 | enum //枚举 |
枚举
枚举是一个比较特别的存在,它是一个被命名的整形常量的集合
一般用它来表示 状态 类型 等等
换句话说,枚举可以认为是给一组整数取名字,
然后,使用这组其中一个名字 来与同样是这组的一个名字比较,判断这两个名字背后数值是否是相同
申明枚举 和 申明枚举变量
注意:申明枚举 和 申明枚举变量 是两个概念
- 申明枚举:相当于是创建一个自定义的枚举类型
- 申明枚举变量:使用申明的自定义枚举类型,创建一个枚举变量
一个是创建枚举,一个是使用创建出来的枚举作为类型来创建变量
申明枚举语法
枚举名 以E
或者E_
开头 作为我们的命名规范
1 | enum E_自定义枚举名 |
枚举在哪里声明
-
namespace
语句块中(常用) -
class
语句块中struct
语句块中 - 注意:枚举不能在函数语句块中申明!!!
1 | namespace Lesson1_枚举 |
枚举的使用
申明枚举变量与使用
1 | //自定义的枚举类型 变量名 = 默认值(自定义的枚举类型,枚举项) |
1 | enum E_monsterType |
枚举是switch是天生一对的
1 | E_monsterType monsterType = E_monsterType.Boss; |
枚举的类型转换
枚举转int
直接使用括号强转即可
1 | int i = (int)playerType; |
int转枚举
直接赋值即可
1 | playerType = 0; |
枚举转string
1 | string str = playerType.ToString(); //tostring方法会将枚举项的名字打印出来 |
把string转换成枚举
第一个参数 :你要转为的是哪个枚举类型
第二个参数 :用于转换的对应的枚举项的字符串,一定要是枚举内有的项
转换完毕后 是一个通用的类型 我们需要用括号强转成我们想要的目标枚举类型
1 | playerType = (E_PlayerType)Enum.Parse(typeof(E_PlayerType), "Other"); |
枚举的作用
在游戏开发中对象很多时候会有很多的状态
比如玩家,会有一个动作状态,我们需要用一个变量或者标识来表示当前玩家处于的是那种状态
综合考虑,可能会用int来表示它的状态
例如 :1、行走,2、待机,3、跑步,4、跳跃…等
枚举可以帮助我们清晰的分清楚状态的含义
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!