枚举的作用
在游戏开发中,对象很多时候 会有许多的状态
比如玩家 有一个动作状态 我们需要用一个变量或者标识 来表示当前玩家处于的是哪种状态
综合考虑 可能会使用 int 来表示他的状态
1行走2待机3跑步4 跳跃。。。等等
枚举可以帮助我们 清晰的分清楚状态的含义
被命名的整形常量的集合
声明位置
namespace语句块中声明(常用)
class 中 struct中
!不能在方法中声明
枚举的声明 enum关键字
enum E_枚举名字
{
变量名1, //没有赋值第一个默认为0 后面依次增加 第二个1 第三2 第四3
变量名2, //给变量2 赋值 =10
变量名3; //变量3 依次增加变为11
}
枚举的使用 (在函数中使用)
E_枚举名字 变量 = 默认值(E_枚举名字.变量名1);
if(变量==默认值(E_枚举名字.变量名2))
{
}
_____________________________________________________________________________
namespace 枚举
{
enum E_playerType
{
main,
other,
}
class program {
static void Main (String[] args)
{
E_playerType playertype = E_playerType.main;
switch (playertype)
{
case E_playerType.main:
Console.WriteLine("执行主玩家逻辑");
break;
case E_playerType.other:
Console.WriteLine("执行其他玩家逻辑");
break;
}
}
}
}
枚举的作用是让状态可读性更高。
枚举的类型转换(用的少了解一下)
和int转
int a=(int)playertype; //枚举转int
Console.WriteLine(a);
playertyper=1; //int转枚举
和string转
string str =playertype.ToString();
Console.WriteLine(str); //这里打印出来 是playertype中的变量名 main
playertype =(E_playerType)Enum.Parse(typeof(E_playerType), "other");
//先用Enum类中的Parse方法转成通用类型 再 强制转换成E_playerType类型
//Parse方法中第一个参数是要转成什么类型,第二个是转成什么值
Console.WriteLine(playertype);
// 打印出other