枚举就是定义了一系列“名/数值”对应关系,使用Enum创建.枚举前加上一个[Flags]属性,就可以变成位标志,以便方便地进行组合.位标志中每一个标志的值应该是2的n次方。枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。后者我们就要使用flags。原理是,每一个标志的值是2的n次方,用二进制表示就是,1:00000001, 2:00000010,4:00000100,如此这样。这样我们观察复合之后的结果内的1的位置和数量就知道是如何复合的,比如1或2的结果就是00000011. |