一直以为自己很了解枚举,用起来很顺手,但发现自己知道的只是一部分,枚举原来还可以这么玩,与flag关联做逻辑操作。
这里主要说的是C#中的内容。
简单回顾下枚举:
定义:枚举是一种特殊的值类型,他可以声明一组命名常量
区别于java(JON SKEET SAY):
C#:
命名常量只能是有效的数字,它们不能表达行为,这一点几乎与C#中的其它内容相反。
java: 表达能力更强,可以声明方法,然后对特殊值重写这些方法。
枚举声明: 枚举类型可以显示的声明基础类型byte,sbyte,short,ushort,int,uint,long,ulong。注意:
char不能用作基础类型,没有显