枚举

枚举又叫做穷举,也就是把可能出现的情况(或者值)一一列举出来,枚举类型可以起到自注释、规范的作用,让程序显示的更清晰。

可以使用enum关键字来声明枚举类型,它的值被限制在所列举出来的值中。

enum是声明一个枚举类型的关键字,不能用它声明一个枚举变量。

enum 枚举类型名{枚举值1,枚举值2,……}

enum Season{Spring,Summer,Autumn,Winter}

在内部,一个枚举为每个元素都关联了一个整数值,默认情况下编号从0开始,后面的编号根据前一个编号都递增1,Spring=0,Summer=1,Autumn=2,Winter=3

默认值:

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         enum Season
 8         {
 9             Spring,     //用逗号,不用分号      0
10             Summer,                         //1
11             Autumn,                         //2
12             Winter      //最后一个不加逗号      3
13         }
14         static void Main(string[] args)
15         {
16             Season a = Season.Autumn;    //Season作为一个类型去定义变量
17             int b = (int)a;
18             Console.WriteLine(b);       //b=2
19             Console.ReadKey();
20         }
21     }
22 }

 

自定义默认值:

enum Season
{
    Spring = 1,
    Summer,        //2
    Autumn = 5,
    Winter         //6
}

允许为多个枚举指定同一个整数值

enum Season
{
    Spring = 1,
    Summer,            //2
    Autumn = 1,
    Winter            //2
}

 

 

对一个枚举变量执行数学运算,会改变这个枚举变量的内部整数值,输出该变量时,会输出所对应的枚举常量值:

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         enum Season
 8         {
 9             Spring,
10             Summer, 
11             Autumn,  
12             Winter  
13         }
14         static void Main(string[] args)
15         {
16             Season a = Season.Autumn;
17             Console.WriteLine(++a);         
18             //++a先计算后赋值,输出结果为Winter;a++先赋值后计算,输出结果为Autumn
19             Console.ReadKey();
20         }
21     }
22 }

 

 

在游戏开发中,通常用枚举类型来表示状态机(状态机可以理解为游戏的状态:游戏开始,游戏暂停,游戏结束)

posted on 2018-09-20 16:52  非洲酋长  阅读(207)  评论(0编辑  收藏  举报