如何:声明枚举 (Visual Basic)

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

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

枚举不能有浮点值。 如果将枚举赋值为浮点值 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,后续常量初始化为比前一个常量大一的值。 例如,下面的枚举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 的值多一);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
    

另请参阅