枚举类 enum,结构体类 struct

1、枚举类型的值,直观易于理解,见词知意。

格式:

    enum 枚举类名:值类型
    {
        值1
        值2
        值n
    }

每个值默认(省略“:值类型”)以int型数据存储,从0开始。

 使用格式:枚举类名 变量=枚举类名.

namespace demo
{
    enum GameState//枚举类GameState(类名)
    {
        Start,//每个值默认以int型数据存储,从0开始。修改存储类型格式:enum GameState:byte
        Pause,//对应1
        Sucess,//对应2
        Failed//对应3
    }        
    class Program
    {
        public static void Main(string[] args)
        {
            GameState state = GameState.Start;//定义枚举类变量state
            if (state == GameState.Start) {//见词知意
                Console.WriteLine("游戏处于开始状态");
            }
            Console.ReadKey();
        }
    }
}

 2、结构体类,可以达到整体与局部的效果,即各种局部属性,构成整体对象。思路清晰明了

格式:

    struct 结构体类名
    {
        变量1
        变量2
        变量n
    }

 使用格式:

结构体类名 变量;

变量.变量n=赋值;

3、枚举与结构体的使用时机:具体值,用枚举。变量,用结构体

举例:路径由方向(东南西北)和距离构成。

namespace demo
{
    enum Direction//枚举类Direction(类名)
    {
        East,//具体值,用枚举。变量,用结构体
        West,
        South,
        North
    }
    struct Path//结构体类Path(类名)。方向(属性1)与距离(属性2)组合,确定路径
    {
        public float distance;//浮点型变量
        public Direction dir;//枚举类变量
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Path path1;//定义枚举类变量state
            path1.dir=Direction.East;
            path1.distance=1000;            
        }
    }
}