VB.NET Select Case文のサンプル(switch文)

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

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)

△上に戻る