如何:声明枚举 (Visual Basic)

你要使用类或模块的声明节中的 Enum 语句创建枚举。 你不能在方法中声明枚举。 若要指定适当的访问级别,请使用 PrivateProtectedFriendPublic

类型 Enum 具有名称、基础类型和一组字段,每个字段表示一个常量。 名称必须是有效的 Visual Basic .NET 限定符。 基础类型必须是整数类型之一,即 ByteShortLongIntegerInteger 是默认值。 枚举始终为强类型,不能与整数类型互换。

枚举不能具有浮点值。 如果为枚举分配了带 Option Strict On 的浮点值,则会导致编译器错误。 如果 Option StrictOff,值会自动转换为 Enum 类型。

有关名称以及如何使用 Imports 语句使名称限定不必要的信息,请参阅枚举和名称限定

声明枚举

  1. 编写一个包含代码访问级别、Enum 关键字和有效名称的声明(如以下示例所示)其中每个声明都用来声明一个不同的 Enum

    Private 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
    
  2. 定义枚举中的常量。 默认情况下,枚举中的第一个常量被初始化为 0,后续常量被初始化为比上一个常量多 1 的值。 例如,以下枚举 Days 包含一个名为 Sunday 的常量,其值为 0,一个名为 Monday 的常量,其值为 1,一个名为 Tuesday 的常量,其值为 2,以此类推。

    Public Enum Days
        Sunday
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
    End Enum
    
  3. 可以使用赋值语句将值显式分配给枚举中的常量。 你可以分配任何整数值,包括负数。 例如,你可能希望用值小于零的常量表示错误条件。 在下面的枚举中,为 Invalid 常量显式分配了值 –1,并且为 Sunday 常量分配了值 0。 因为它是枚举的第一个常量,因此 Saturday 也被初始化为值 0Monday 的值为 1(比 Sunday 的值多 1);Tuesday 的值为 2,以此类比。

    Public Enum WorkDays
        Saturday
        Sunday = 0
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Invalid = -1
    End Enum
    

将枚举声明为显式类型

  • 使用 As 子句指定枚举的类型,如以下示例所示。

    Public Enum MyEnum As Byte
        Zero
        One
        Two
    End Enum
    

另请参阅