15.1 枚举类型
枚举类型定义了一组“符号名称/值”配对。
例如,以下Color类型定义了一组符合,每个符号表示一种颜色。
internal enum Color{ White, //赋值0 Red, //赋值1 Green, //赋值2 Blue, //赋值3 Orange //赋值4 }
枚举类型的好处:
枚举类型容易编写、阅读和维护。
枚举类型是强类型。
派生关系:
System.Object -> System.ValueType -> System.Enum -> 枚举类型
枚举类型是值类型,但和正常值类型的区别:
枚举类型不能定义任何方法、属性或事件。(可利用“扩展方法”模拟想枚举类型添加方法)
编译枚举类型时,C#编译器会把每个符号转换成类型的一个常量字段。
例如,编译器会把前面Color枚举类型看成是以下代码:
internal struct Color: System.Enum{ //以下是一些公共常量,它们定义了Color的符号和值 public const Color White = (Color) 0; public const Color Red = (Color) 1; public const Color Green = (Color) 2; public const Color Blue = (Color) 3; public const Color Orange = (Color) 4; //以下是一个公共实例字段,它包含一个Color变量的值, //不能写嗲吗来直接引用这个实例字段 public Int32 value__; }
第三部分 基本类型:第15章 枚举类型和位标志,布布扣,bubuko.com
原文:http://www.cnblogs.com/zxx193/p/3799612.html