C#枚举类型算是一个比较基本的类型了。整理一下。
定义
枚举类型是具有一组命名常量的独特的值类型。
例1:
enum GameState
{
Start,
Failed,
Success,
Pause
}
例2:
public enum Color:byte
{
Red,
Green,
Blue
}
这里以例1为例,声明了一个GameState的枚举类型,此类型有4个成员,分别为Start,Failed,Success,Pause。那么枚举类型的泛型就可以得知了:
修饰词(public、protected)enum 枚举类型名:整数类型
{
成员1,
成员2,
...
}
基本使用
GameState MyState = GameState.Success;
if (MyState == GameState.Success)
{
Console.WriteLine("游戏成功");
}
获取枚举类型中表示成功的成员,通过比较,判断游戏的状态!
注意事项
1.如果不在枚举类型名之后加上自定义的数据类型,默认情况下为int类型,但是通常情况下,都是改成byte类型,这样占用空间少。
2.默认情况下,枚举类型中的成员对应的值为0,1,2,3,,,
enum GameState
{
Start,//0
Failed,//1
Success,//2
Pause//3
}
但是不能直接打印出数值,需要强制转换:
Console.WriteLine((int)GameState.Success);
运行结果为2。
3.可以对成员对应的值进行更改:
enum GameState
{
Start=100,//0
Failed,//1
Success=110,//2
Pause//3
}
输出这四个成员对应的值:
100
101
110
111
可以看出 对应值发生改变,没有设定初始值的成员,会根据上一成员初始值+1.
适用场合
从以上的定义中,可以看出:
枚举用于“多选”,就是从编译时已经设定好的固定数目的“选择”。同时枚举可以使代码更清晰,允许使用描述性的名称表示整数值,而不是用含义模糊的数来表示。
欢迎评价和指正,谢谢!