//声明基础类型为Byte的枚举。
internal enum Color:byte { White, Red, Green }
可用Enum的静态IsDefined判断当前的类型是否合法:
1 static void Main(string[] args) 2 { 3 Console.WriteLine(Enum.IsDefined(typeof(Color), 1)); 4 Console.WriteLine(Enum.IsDefined(typeof(Color), "White")); 5 6 Console.ReadKey(); 7 } 8 9 internal enum Color 10 { 11 White, 12 Red, 13 Green 14 }
注意:IsDefined方法很方便,但必须慎用,首先IsDefined总是执行区分大小写的查找,而且完全没有办法让它不区分大小写的查找。其次,IsDefined相当慢,因为它在内部适用了反射。最后,只有在当枚举类型本身在调用IsDefined的同一个程序集中定义时,才可适用IsDefined。
枚举类型通常与需要它的类同级,原因:减少代码的录入量(除非担心名称冲突)。