你的位置:首页 > ASP.net教程

[ASP.net教程]第15章 枚举类型和位标志


Enumeration提供了一些非常炫酷的功能,相信大多数开发人员都不熟悉。而这些新功能极大的简化了应用程序的开发。

15.1枚举类型

枚举类型(enumerated types)定义了一组“符号名称/值”配对。

以下Color类型定义了一组符号,每个符号都标识一种颜色:

internal enum Color{    White,//赋值0    Red, //赋值1    Greed,//赋值2    Blue, //赋值3    Orange//赋值4}

当然,我们也可以写个程序用0代表白色,1代表红色,以此类推。

但不应该将这些数字硬编码到代码中,而应该换用枚举类型,因为:

  • 枚举类型使程序更容易编写、阅读和维护。
  • 枚举类型是强类型的。

每个枚举类型都直接从System.Enum派生,后者从System.ValueType派生。而System.ValueType又从System.Object派生。所以,枚举类型是值类型,可表示成未装箱和已装箱形式。有别于其他的值类型,枚举类型不能定义任何方法、属性和事件。

编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段。例如,编译器会把前面的Color枚举类型看成以下代码: