- ·上一篇内容:C#的值类型与引用类型
- ·下一篇内容:C语言中clearerr函数的用法
C#中的枚举类型
与C/C++类似,C# 中的枚举(enumeration)类型也是一个命名常量的集合。枚举声明的完整格式为(灰色方括号[ ]中的内容是可选的):
[[属性]] [枚举修饰符] enum 标识符 [: 整型基类型] {
[[属性]] 标识符 [ = 常量表达式],
……
[[属性]] 标识符 [ = 常量表达式]
}[;]
其中,枚举修饰符有:new、public、protected、internal、private, 默认为private。默认的整数基类型为int。常用格式为:
enum 枚举名 [: 基类型] {枚举成员名 [= 枚举值], ……,
枚举成员名 [= 枚举值]};
例如:
enum Color {Red, Green, Blue}
enum Days : byte {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
C# 的枚举类型都是抽象类类型System.Enum结构的派生值类型。Enum的C#定义如下:
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
包含多个公用方法成员(参见表17-7),可以在用户定义的枚举类型中,使用这些公用方法。
表17-7 Enum类的部分静态公用方法
名称
|
说明
|
Format
|
根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式。
|
GetName
|
在指定枚举中检索具有指定值的常数的名称。
|
GetNames
|
检索指定枚举中常数名称的数组。
|
GetUnderlyingType
|
返回指定枚举的基础类型。
|
GetValues
|
检索指定枚举中常数值的数组。
|
IsDefined
|
返回指定枚举中是否存在具有指定值的常数的指示。
|
Parse
|
已重载。将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
|
与C++不同,你不能用整数值来代替枚举值。而且枚举可以作为顶层类型,也可以作为类的成员(嵌套类型),但是不能作为局部类型来定义,这点也与C++不同。还有一个与C++不同点是,在C# 的枚举类型定义体后的分号是可选的,而在C++中却是必须的。
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。