如何:宣告列舉 (Visual Basic)
建立列舉時,您會在類別或模組的宣告區段中使用 Enum
陳述式。 您無法在方法內宣告列舉。 若要指定適當的存取層級,請使用 Private
、Protected
、Friend
或 Public
。
Enum
型別具有名稱、基礎類型,以及一組欄位,每個欄位都代表常數。 名稱必須是有效的 Visual Basic .NET 限定詞。 基礎型別必須是下列其中一個整數型別:Byte
、Short
、Long
或 Integer
。 Integer
是預設值。 列舉一律為強型別,且無法與整數型別互換。
列舉不能有浮點值。 如果列舉指派了具有 Option Strict On
的浮點值,則編譯器會產生錯誤。 如果 Option Strict
為 Off
,則值會自動轉換成 Enum
型別。
如需名稱的相關資訊,以及如何使用 Imports
陳述式以省下名稱限定性條件的必要性,請參閱列舉和名稱限定性。
若要宣告列舉
撰寫包含程式碼存取層級、
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
,而後續常數會初始化為前一個常數加一的值。 例如,下列列舉 (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
的值不止一個):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