马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
摆列
摆列是一组定名整型常量。
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
- {
- }
复制代码 摆列作用域
- internal class Menu
- {
- // 菜单状态
- enum MenuState
- {
- Start,
- Setting,
- Exit
- }
- }
复制代码 这种方式是将摆列MenuState界说为内部类 Menu 的一个嵌套范例。这意味着MenuState摆列是Menu 类的一部分,而且只能在Menu 类内部或同一个步伐会合的其他类中被访问。这种用法通常用于将相干联的范例构造在一起,进步代码的封装性和可读性。 - // 菜单状态
- enum MenuState
- {
- Start,
- Setting,
- Exit
- }
复制代码 这种方式是将摆列MenuState界说为一个独立的范例。它可以在整个步伐会合被访问,只要它是公开的(默认环境下摆列是公开的)。这种用法实用于那些在多个类中大概会用到的摆列值。
两种写法的重要区别在于它们的作用域和封装性:
- 作用域:内部类中的摆列作用域受限于内部类,而独立的摆列作用域更广。
- 封装性:内部类中的摆列提供了更好的封装性,有助于潜伏实现细节。
|