C# 语言特性详解:枚举、委托、异常、属性及互操作性
1. 枚举(Enums)
1.1 枚举声明规则
枚举类型的成员命名和作用域规则与类中的字段类似。成员的作用域是其所在枚举类型的主体。在该作用域内,可通过简单名称引用枚举成员;在其他代码中,必须使用枚举类型名称限定枚举成员名称。例如:
enum Circular
{
A = B,
B
}
上述代码是无效的,因为 A
和 B
的声明存在循环依赖, A
显式依赖 B
,而 B
隐式依赖 A
。
1.2 枚举值和操作
每个枚举类型都定义了一个独特的类型。在枚举类型和整数类型之间,或两个枚举类型之间进行转换时,需要显式的枚举转换。枚举类型可取值的集合不受其枚举成员的限制,枚举底层类型的任何值都可以转换为该枚举类型,并且是该枚举类型的一个有效且独特的值。
枚举成员具有其所在枚举类型的类型(在其他枚举成员初始化器中除外)。在枚举类型 E
中声明的关联值为 v
的枚举成员的值为 (E)v
。
可用于枚举类型值的运算符包括: ==
、 !=
、 <
、 >