-
如何:声明枚举 (Visual Basic)
在类或模块的声明部分中用 Enum 语句创建枚举。 不能在方法中声明枚举。 若要指定适当的访问级别,请使用 Private、Protected、Friend 或 Public。
每个 Enum 类型都有一个名称、一个基础类型和一组字段,它们各表示一个常数。 名称必须是一个有效的 Visual Basic 2005 限定符。 基础类型必须是整数类型(Byte、Short、Long 或 Integer)之一。 默认为 Integer 类型。 枚举始终是强类型的,不能与整数类型互换。
枚举不能具有浮点值。 如果使用 Option Strict On 给枚举赋一个浮点值,则将产生编译器错误。 如果 Option Strict 为 Off,则该值将自动转换为 Enum 类型。
有关名称以及如何使用 Imports 语句以取消名称限定的信息,请参见 枚举和名称限定 (Visual Basic)。
声明枚举
-
编写一个包括代码访问级别、Enum 关键字和有效名称的声明,如下例所示,其中每个示例声明一个不同的 Enum。
VBPrivate Enum SampleEnum SampleMember End Enum Public Enum SampleEnum2 SampleMember End Enum Protected Enum SampleEnum3 SampleMember End Enum Friend Enum SampleEnum4 SampleMember End Enum Protected Friend Enum SampleEnum5 SampleMember End Enum
-
定义枚举中的常数。 默认情况下,枚举中的第一个常数初始化为 0,后面的常数初始化为比前面的常数多 1 的值。 例如,下面的枚举 Days 包含名为 Sunday 而值为 0 的常数、名为 Monday 而值为 1 的常数和名为 Tuesday 而值为 2 的常数等。
VBPublic Enum Days Sunday Monday Tuesday Wednesday Thursday Friday Saturday End Enum
-
可使用赋值语句将值显式赋予枚举中的常数。 可赋予任何整数值,包括负数。 例如,可能希望值小于零的常数表示错误情况。 在下面的枚举中,将值 –1 显式赋予常数 Invalid,将值 0 显式赋予了常数 Sunday。 因为 Saturday 是枚举中的第一个常数,因此它还被初始化为 0 值。 Monday 的值为 1(比 Sunday 的值多 1);Tuesday 的值为 2,依此类推。
VBPublic Enum WorkDays Saturday Sunday = 0 Monday Tuesday Wednesday Thursday Friday Invalid = -1 End Enum
此代码示例也可用作 IntelliSense 代码段。 在代码段选择器中,它位于**“Visual Basic 语言”**中。 有关更多信息,请参见如何:插入 IntelliSense 代码段。
将枚举声明为显式类型
-
使用 As 子句指定枚举的类型,如下面的示例所示。
VBPublic Enum MyEnum As Byte Zero One Two End Enum