C#系列之枚举

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

1.声明枚举和枚举变量

注意:声明枚举和声明枚举变量是两个概念。

声明枚举相当于是创建一个自定义的枚举类型

而声明枚举变量则相当于声明的自定义枚举类型,创建一个枚举变量

2.声明枚举的语法

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

enum E_自定义枚举名

{

自定义枚举项名字,//枚举中包裹的整形常量第一个默认值是0,下面会依次累加

自定义枚举名字1,//1

自定义枚举名字2,//2

}

3.在哪里声明枚举

//在namespace语句块中(常用)

//在class语句块中

//在struct语句块中

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

⚡变量名字可以用中文,但是最好不要用!枚举的声明,内容全部为常量。

enum E_MonsterType
{
Normal,//0
Boss,//1
}

enum E_PlayerType
{
Main,
Other,
}

4.枚举的使用(在main函数中使用)

枚举和switch是天生一对,一般配合使用。

//声明枚举变量
自定义枚举类型  变量名=默认值;(自定义的枚举类型.枚举项)
E_PlayerType playerType=E_PlayerType.Main;
if(playerType==E_PlayerType.Main)
{
Console.WriteLine("主玩家逻辑");
}
else if(playerType==E_PlayerType.Other)
{
Console.WriteLine("其它玩家逻辑");
}
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;
}

5.枚举的类型转换

->枚举和int互转

int i=(int)playerType;

Console.WriteLine(i);

//int转枚举

playerType=0;

->枚举和string的相互转化

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

如果是把string转换为枚举类型,Parse后的第一个参数:你要转化的是哪个枚举类型;第二个参数:用于转化的对应枚举项的字符串。转化完毕后,是一个通用的类型,我们需要用括号强转成我们想要的目标类型。

例如:

//将字符串"Other"转化为枚举类型
playerType=(E_PlayerType)Enum.Parse(typeof(E_PlayerType),"Other");
Console.WriteLine(playerType);

6.枚举的作用

①在游戏开发中的对象会存在多种不同的状态,比如一个玩家有一个动作状态,我们需要通过用一个变量或者标识来表示玩家处于的是哪种状态。

②若使用int来表示它的状态:1-行走   2-待机  3-跑步......

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Nicole Potter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值