VB.NETの列挙型のサンプルです。
目次
サンプル | 列挙型(Enum型)とは |
For文とEnumのメソッド | |
列挙型の定数に独自の値を設定する |
列挙型(Enum型)とは
アクセス修飾子 Enum 名前 { 定数1, 定数2, ・・・ End Enum |
- 複数の定数を持つことができます。Enumというキーワードがあります。
- 名前.定数でアクセスします。
- 以下は、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()
Dim c1 As New Class1
c1.print1(Color.BLUE)
End Sub
End Module
Public Class Class1
Public Sub print1(c1 As Color)
If c1 = Color.RED Then
Console.WriteLine("赤")
ElseIf c1 = Color.YELLOW Then
Console.WriteLine("黄")
ElseIf c1 = Color.BLUE Then
Console.WriteLine("青") '青が出力される
End If
End Sub
End Class
1行目にEnumがあります。列挙型です。
2~4行目でカンマ区切りは不要です。
10行目は、メソッドの引数に列挙型の値を指定しています。
15行目は、列挙型の値を引数として受け取ります。
16行目以降は、if文で列挙型の定数の比較をしています。
For文とEnumのメソッド
Public Shared Function GetNames (enumType As Type) As String() |
Public Shared Function GetValues (enumType As Type) As Array |
For文とEnumのメソッドのサンプルです。
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メソッドは、定数の値を取得します。
列挙型の定数に独自の値を設定する
列挙型の定数に独自の値を設定できます。
Public Enum Color
RED = 10
YELLOW = 11
BLUE = 12
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) '10 11 12
Next
End Sub
End Module
2~4行目の10,11,12が独自の値です。
GetValuesメソッドで設定した値を取得します。
関連の記事