如何:声明枚举 (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)

声明枚举

  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,包含一个常数命名为值 0,常量的 Sunday 命名为值 1,常量的 Monday 名为与 2的值 Tuesday ,依此类推。

    Public Enum Days
      Sunday
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Saturday
    End Enum
    
  3. 使用赋值语句,可以将值显式赋予枚举中的常数。 可赋予任何整数值,包括负数。 例如,您可能希望值小于零的常数表示错误状态。 下面的枚举,常量 Invalid 将值显式赋予了 –1,因此,该常数 Sunday 被赋予值 0。 因为是枚举中的第一个常数, Saturday 还初始化为值 0。 Monday 的值是 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
    

请参见

任务

如何:引用枚举成员 (Visual Basic)

如何:在 Visual Basic 中循环访问枚举

如何:确定与枚举值关联的字符串 (Visual Basic)

概念

枚举和名称限定 (Visual Basic)

何时使用枚举 (Visual Basic)

常量概述 (Visual Basic)

常量和 Literal 数据类型 (Visual Basic)

常量和枚举 (Visual Basic)