1. 概述
本章内容包括 枚举类型、位标志 以及 为枚举类型添加方法。
2. 主要内容
2.1 枚举类型
枚举类型定义了一组“符号名称/值”配对。
枚举类型的好处包括: ① 可以使程序更容易编写、阅读和维护。 ② 枚举类型是强类型的,有编译器检测。
编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段。
System.Enum类型有一个名为GetUnderlyingType的静态方法,返回用于容纳一个枚举类型的值的基础类型。
Enum.GetUnderlyingType(typeof(Color));
2.2 位标志
枚举类型表示单个数值,而位标志表示一组位,其中有些位处于on状态,有些位处于off状态。
使用[Flags] attribute,可以确保位运算后返回正确的枚举值。
永远不要对位标志枚举类型使用IsDefined方法。
2.3 向枚举类型添加方法
可以使用C#的扩展方法功能向枚举类型模拟添加方法。
3. 总结
本章介绍了枚举类型一些不太常用的功能。
合理使用位标志可以极大提高效率。