共用方式為


HOW TO:宣告列舉 (Visual Basic)

您可以在類別或模組的宣告區段中,以 Enum 陳述式 (Statement) 建立列舉型別 (Enumeration)。 您無法在方法中宣告列舉型別。 若要指定適當的存取層級,請使用 Private、Protected、Friend 或 Public。

Enum 型別具有一名稱、一基礎型別和一組欄位,各表示一個常數。 名稱必須為有效的 Visual Basic 2005 限定詞 (Qualifier)。 基礎型別必須是整數型別之一,也就是 Byte、Short、Long 或 Integer。 Integer 為預設值。 列舉都是強型別 (Strongly Typed),無法與整數型別交換使用。

列舉不能有浮點數值。 如果使用 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,之後的常數則會初始化成前一個常數值加上 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 也已初始化為值 0。 Monday 的值為 1 (為 Sunday 的值加 1);Tuesday 的值為 2,依此類推。

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

這個程式碼範例也可做為 IntelliSense 程式碼片段。 在程式碼片段選擇器中,這個程式碼片段位於 [Visual Basic 語言] 中。 如需詳細資訊,請參閱 HOW TO:插入 IntelliSense 程式碼片段

若要將列舉宣告為明確型別

  • 使用 As 子句指定列舉的型別,如下列範例所示。

    Public Enum MyEnum As Byte
      Zero
      One
      Two
    End Enum
    

請參閱

工作

HOW TO:參考列舉成員 (Visual Basic)

HOW TO:在 Visual Basic 中逐一查看列舉型別

HOW TO:決定與列舉值關聯的字串 (Visual Basic)

概念

列舉和名稱限定 (Visual Basic)

何時使用列舉 (Visual Basic)

常數的概觀 (Visual Basic)

常數和常值資料型別 (Visual Basic)

常數和列舉型別 (Visual Basic)