//声明基础类型为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。

枚举类型通常与需要它的类同级,原因:减少代码的录入量(除非担心名称冲突)。

 

posted on 2017-06-02 21:17  linwenda  阅读(322)  评论(0编辑  收藏  举报