枚举类型知识点

基本概念

枚举是什么

        枚举是一个比较特别的存在,他是一个被命名的整形常量的集合,一般用它来表示状态、类型等等。

申明枚举和申明枚举变量

        注意:申明枚举和申明枚举变量 是两个概念
        申明枚举:相当于是 创建一个自定义的枚举类型。
        申明枚举变量: 使用申明的自定义枚举类型创建一个枚举变量。

申明枚举语法

        枚举名:以E或者E_开头,作为我们的命名规范。

enum E_自定义枚举名
{
    自定义枚举项名字, //枚举中包裹的 整形常量  第一个默认值是0 下面会依次累加
    自定义枚举项名字1,//1
    自定义枚举项名字2,//2
}
enum E_自定义枚举名
{
    自定义枚举项名字 = 5, //第一个枚举项的默认值 变成5了 
    自定义枚举项名字1,// 6
    自定义枚举项名字2 = 100,
    自定义枚举项名字3,//101
    自定义枚举项名字4,//102
}

在哪里申明枚举

1.namespace语句块中(常用)。

2.class语句块中,struct语句块中。

注意:枚举不能在函数语句块中申明!!!

enum E_MonsterType
{
    Normal,//0

    Boss,//1
}

enum E_PlayerType
{ 
    Main,
    Other,
}

枚举的使用

申明枚举变量

自定义的枚举类型  变量名 = 默认值;(自定义的枚举类型.枚举项)

 E_PlayerType playerType = E_PlayerType.Other;

 if( playerType == E_PlayerType.Main )
 {
     Console.WriteLine("主玩家逻辑");
 }
 else if(playerType == E_PlayerType.Other)
 {
     Console.WriteLine("其它玩家逻辑");
 }

 //枚举和switch是天生一对
 E_MonsterType monsterType = E_MonsterType.Boss;
 switch (monsterType)
 {
     case E_MonsterType.Normal:
         //Console.WriteLine("普通怪物逻辑");
         //break;
     case E_MonsterType.Boss:
         Console.WriteLine("Boss逻辑");
         break;
     default:
         break;
 }

枚举的类型转换

枚举和int互转

int i = (int)playerType;
Console.WriteLine(i);
//int 转枚举
playerType = 0;

枚举和string相互转换

string str = playerType.ToString();
Console.WriteLine(str);

把string转成枚举

Parse后,第一个参数 :你要转为的是哪个枚举类型;第二个参数:用于转换的对应枚举项的字符串。

转换完毕后是一个通用的类型,我们需要用括号强转成我们想要的目标枚举类型。

playerType = (E_PlayerType)Enum.Parse(typeof(E_PlayerType), "Other");
Console.WriteLine(playerType);

枚举的作用

在游戏开发中,对象很多时候会有许多的状态。

比如玩家有一个动作状态,我们需要用一个变量或者标识来表示当前玩家处于的是哪种状态。

综合考虑,可能会使用int来表示他的状态。

1 行走 2 待机 3 跑步 4 跳跃……等等。

枚举可以帮助我们清晰的分清楚状态的含义。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不背完3500个考研英语词汇不改名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值