VB.NETのSelect Case文のサンプルです。条件で処理を分岐する時に使用します。
JavaScriptでのswitch文にあたります。
目次 | Select Case文とは |
Select Case文のサンプル | |
数値の範囲を指定する | |
Select Case Trueを使用する | |
Select Case文の中でif文を使用する |
Select Case文とは
Select Case 値 Case 値 : 処理 ・・・ Case Else: 処理 End Select |
- 値とcaseの値が一致すれば、配下の処理が実行されます。
- 処理後のbreakの追加は不要です。JavaScriptなどではbreakが必要です。
- Case Elseは、条件の値がどのCaseの値にも一致しない時に実行されます。
- 以下はMDNのSelect文のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/select-case-statement
Select Case文のサンプル
Module Module1
Sub Main()
Dim str1 As String = "3"
Select Case str1
Case "1"
Console.WriteLine("赤です")
Case "2", "3"
Console.WriteLine("黄です") '黄ですと出力される
Case Else
Console.WriteLine("青です")
End Select
End Sub
End Module
3行目は、変数に値をセットしています。
5行からは、Select Case文です。処理後のbreakの追加は不要です。
9行目のみ実行されます。値をカンマ区切りで複数記述できます。
最後は12行目のEnd Selectが必要です。
数値の範囲を指定する
Module Module1
Sub Main()
Dim num1 As Integer = 5
Select Case num1
Case 0 To 2
Console.WriteLine("赤です")
Case 3 To 8
Console.WriteLine("黄です") '黄ですと出力される
Case 9 To 10
Console.WriteLine("青です")
End Select
End Sub
End Module
数値の範囲の指定は、数値 to 数値を指定します。
Select Case Trueを使用する
Module Module1
Sub Main()
Dim str1 As String = "abc"
'Select Case str1
Select Case True
Case str1.Substring(0, 1) = "z"
Console.WriteLine("赤です")
Case str1.Substring(1, 1) = "b"
Console.WriteLine("黄です") '黄ですと出力される
Case str1.Substring(2, 1) = "c"
Console.WriteLine("青です")
End Select
End Sub
End Module
Substringは、指定した位置の文字を取得するメソッドです。
5行目をコメントにし6行目をTrueにすると9行目の条件に該当して文字列が出力されます。
5行目のコメントを外し6行目をコメントにして実行した場合、どの条件にも該当しません。
Select Case文の中でif文を使用する
Module Module1
Sub Main()
Dim str1 As String = "1"
Dim str2 As String = "1"
Select Case str1
Case "1"
If str2 = "2" Then
Console.WriteLine("赤です") '赤ですと出力される
End If
Case Else
Console.WriteLine("青です")
End Select
End Sub
End Module
8行目はSelect Case文の中のCaseの後にIf文を使用しています。
関連の記事
VB.NET If文のサンプル
VB.NET For文 処理を繰り返す(Exit/Continue)
VB.NET While文のサンプル(Exit/Continue)
VB.NET Do...Loop文のサンプル(Exit/Continue)