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)。
若要宣告列舉型別
撰寫一宣告,其中包括如下列範例中之程式碼存取層次、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
定義列舉型別中的常數。依預設,列舉型別的第一個常數會初始化為 0,之後的常數則會初始化成前一個常數值加上 1。例如,下列的列舉型別 Days 包含名為 Sunday 的常數 (其值為 0)、名為 Monday 的常數 (其值為 1)、名為 Tuesday 的常數 (其值為 2),依此類推。
Public Enum Days Sunday Monday Tuesday Wednesday Thursday Friday Saturday End Enum
您可以使用指派陳述式明確地指派列舉型別中常數的值。您可以指定任何整數值,包含負數。例如,您可能希望其值小於零的常數代表錯誤狀態。在下列的列舉型別中,已明確指派常數 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
若要將列舉宣告為明確型別
使用 As 子句指定列舉的型別,如下列範例所示。
Public Enum MyEnum As Byte Zero One Two End Enum
請參閱
工作
HOW TO:在 Visual Basic 中逐一查看列舉型別
HOW TO:決定與列舉值關聯的字串 (Visual Basic)