VB.NET 列挙型(Enum型)のサンプル

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メソッドは、定数の値を取得します。

関連の記事

VB.net 構造体のサンプル
VB.NET With~End Withのサンプル

△上に戻る