枚举
枚举是一组命名整型常量。
enum 枚举名字
{
常量1,常量2,
……
常量n
};
枚举的常量是由 , 分隔的列表。并且,在这个整型常量列表中,通常默认第一位枚举符号的值为0,此后的枚举符号的值都比前一位大1。
在将枚举赋值给 int 类型的时候,需要强转为int类型。
示例1——首位枚举符号默认为零
enum Num{One,Two,Three};static void Main(){int x = (int)Num.One;int y = (int)Num.Two;int z = (int)Num.Three;Console.WriteLine("One = " + x);Console.WriteLine("Two = " + y);Console.WriteLine("Three = " + z);Console.ReadKey();}
示例2——枚举符号的值比前一位大1
当对某一项枚举符号赋值以后,枚举符号的值将会发生改变。
enum Num{One,Two = 9,Three};static void Main(){int x = (int)Num.One;int y = (int)Num.Two;int z = (int)Num.Three;Console.WriteLine("One = " + x);Console.WriteLine("Two = " + y);Console.WriteLine("Three = " + z);Console.ReadKey();}
枚举使用
创建枚举变量列表
枚举所有你需要的情况的变量名,尽可能望文生义,用这个变量代替数字,方便一眼看出达到某条件,该执行什么功能。
//枚举游戏状态enum GameState{Menu,Map}
定义枚举变量
只有枚举的变量才接收和直接用枚举变量。
public GameState m_State = GameState.Menu; //访问修饰符根据情况而定
使用枚举变量
虽然枚举变量的值是整形,如果用int类型进行接收的话需要强制转换类型。
int x = 0; if(x == (int)GameState.Menu) {语句块; }
if(m_State == GameState.Menu)
{语句块;
}
else if(m_State == GameState.Map)
{语句块;
}
else
{
}