枚举
有的时候希望变量取的是一个固定集合中的值。例如,orientation类型可以存储north、south、east、或west中的一个值。
此时可以使用枚举类型。枚举可以完成这个orientation类型的任务:允许定义一个类型,其取值范围是用户提供的值得有限集合。
定义(define)
enum <typeName>
{
<value1>, //0
<value2>, //1
...
<valueN> //N
}
接着声明这个新类型的变量
<typeName> <varName>;
并赋值:
<varName> = <typeName>.<value>;
枚举类型使用一个基本类型来存储。默认情况下该类型为int。在枚举声明中添加类型,可以指定其他基本类型。枚举的基本类型可以是byte、sbyte、short、ushort、int、uint、long、ulong。
enum <typeName>:<underlyingType>
{ ... }
默认情况下,每个值会根据定义的顺序(从0开始),被自动赋予对应的基本类型。也可以赋值,后面没有赋值的就被自动赋值。
代码8/7/2018 11:34:42 AM
namespace Ch05Ex02
{
enum orientation:byte
{
north = 1,
south = 2,
east = 3,
west = 4
}
class Program
{
static void Main()
{
orientation myDirection = orientation.north;
System.Console.WriteLine($"myDirection = {myDirection}");
System.Console.ReadKey();
}
}
}
运行得到如下结果: