VB.NETの列挙型のサンプルです。
目次
サンプル | 列挙型(Enum型)とは |
列挙型の定数に独自の値を設定する | |
For文のループで列挙型の名称と値を取得する |
列挙型(Enum型)とは
[アクセス修飾子] Enum 名前 { 定数1 [=数値] 定数2 [=数値] ・・・ End Enum |
- 複数の定数を持つことができます。Enumというキーワードがあります。
- 定数のデフォルトの値は先頭から0,1,2・・・と数値になります。
→コード上で数値を指定する代わりに文字列を指定するのでわかりやすくなります。
→設定する数値の値は変更可能です。 - 定数の値は変更できません。
- 定数のカンマ区切りは不要です。
- 名前.定数でアクセスします。
- 以下は、MicrosoftのEnumクラスのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.enum?view=netcore-3.1
列挙型のサンプルです。
Public Enum Color
RED
YELLOW
BLUE
End Enum
Module Module1
Sub Main()
Console.WriteLine(Color.RED) '0が出力される
Console.WriteLine(Color.YELLOW) '1が出力される
Console.WriteLine(Color.BLUE) '2が出力される
End Sub
End Module
1行目にEnumがあります。列挙型です。
2~4行目でカンマ区切りは不要です。
9~11行目のように定数名を指定すると設定した値が表示されます。
先頭の値は0から始まります。
列挙型の定数に独自の値を設定する
列挙型の定数に独自の値を設定できます。
Enum Color
RED = 10
YELLOW = 11
BLUE = 12
End Enum
Module Module1
Sub Main()
Console.WriteLine(Color.RED) '10が出力される
Console.WriteLine(Color.YELLOW) '11が出力される
Console.WriteLine(Color.BLUE) '12が出力される
End Sub
End Module
2~4行目の10,11,12が独自の値です。
9~11行目のように定数名を指定すると設定した値が表示されます。
For文のループで列挙型の名称と値を取得する
Public Shared Function GetNames (enumType As Type) As String() |
Public Shared Function GetValues (enumType As Type) As Array |
For文のループで列挙型の名称と値を取得するサンプルです。
Public Enum Color
RED
YELLOW
BLUE
End Enum
Module Module1
Sub Main()
For Each s In [Enum].GetNames(GetType(Color))
Console.WriteLine(s) 'RED YELLOW BLUE
Next
Dim i As Integer
For Each i In [Enum].GetValues(GetType(Color))
Console.WriteLine(i) '0 1 2
Next
End Sub
End Module
GetNamesメソッドは、定数の名前を取得します。
GetValuesメソッドは、定数の値を取得します。
関連の記事