C#低级——摆列

[复制链接]
发表于 2026-2-16 01:29:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
摆列

摆列是一组定名整型常量。
enum 摆列名字
{
    常量1,

    常量2,
    ……
    常量n
};

摆列的常量是由 , 分隔的列表。而且,在这个整型常量列表中,通常默认第一位摆列符号的值为0,今后的摆列符号的值都比前一位大1。
在将摆列赋值给 int 范例的时间,须要强转为int范例。
示例1——首位摆列符号默以为零
  1.         enum Num
  2.         {
  3.             One,
  4.             Two,
  5.             Three
  6.         };
  7.         static void Main()
  8.         {
  9.             int x = (int)Num.One;
  10.             int y = (int)Num.Two;
  11.             int z = (int)Num.Three;
  12.             Console.WriteLine("One = " + x);
  13.             Console.WriteLine("Two = " + y);
  14.             Console.WriteLine("Three = " + z);
  15.             Console.ReadKey();
  16.         }
复制代码

 示例2——摆列符号的值比前一位大1

当对某一项摆列符号赋值以后,摆列符号的值将会发生改变。
  1.         enum Num
  2.         {
  3.             One,
  4.             Two = 9,
  5.             Three
  6.         };
  7.         static void Main()
  8.         {
  9.             int x = (int)Num.One;
  10.             int y = (int)Num.Two;
  11.             int z = (int)Num.Three;
  12.             Console.WriteLine("One = " + x);
  13.             Console.WriteLine("Two = " + y);
  14.             Console.WriteLine("Three = " + z);
  15.             Console.ReadKey();
  16.         }
复制代码

摆列利用 

创建摆列变量列表

摆列全部你须要的环境的变量名,尽大概望文生义,用这个变量取代数字,方便一眼看出到达某条件,该实验什么功能。
  1.     //枚举游戏状态
  2.     enum GameState
  3.     {
  4.         Menu,
  5.         Map
  6.     }
复制代码
界说摆列变量 

只有摆列的变量才汲取和直接用摆列变量。
  1. public GameState m_State = GameState.Menu;    //访问修饰符根据情况而定
复制代码
利用摆列变量

固然摆列变量的值是整形,假如用int范例举行汲取的话须要逼迫转换范例。
  1. int x = 0;
  2. if(x == (int)GameState.Menu)
  3. {
  4.     语句块;
  5. }
复制代码
  1. if(m_State == GameState.Menu)
  2. {
  3.     语句块;
  4. }
  5. else if(m_State == GameState.Map)
  6. {
  7.     语句块;
  8. }
  9. else
  10. {
  11. }
复制代码
摆列作用域 
  1. internal class Menu
  2. {
  3.     // 菜单状态
  4.     enum MenuState
  5.     {
  6.         Start,
  7.         Setting,
  8.         Exit
  9.     }
  10. }
复制代码
这种方式是将摆列MenuState界说为内部类 Menu 的一个嵌套范例。这意味着MenuState摆列是Menu 类的一部分,而且只能在Menu 类内部或同一个步伐会合的其他类中被访问。这种用法通常用于将相干联的范例构造在一起,进步代码的封装性和可读性。 
  1.     // 菜单状态
  2.     enum MenuState
  3.     {
  4.         Start,
  5.         Setting,
  6.         Exit
  7.     }
复制代码
这种方式是将摆列MenuState界说为一个独立的范例。它可以在整个步伐会合被访问,只要它是公开的(默认环境下摆列是公开的)。这种用法实用于那些在多个类中大概会用到的摆列值。 
两种写法的重要区别在于它们的作用域和封装性:

  • 作用域:内部类中的摆列作用域受限于内部类,而独立的摆列作用域更广。
  • 封装性:内部类中的摆列提供了更好的封装性,有助于潜伏实现细节。 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表