枚举

有的时候希望变量取的是一个固定集合中的值。例如,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();
		}
	}
}

运行得到如下结果:

posted on 2018-08-07 11:49  雪山老狐  阅读(115)  评论(0编辑  收藏  举报