複数条件分岐
値によって処理を分岐する
複数条件での分岐にはSelect Caseを使用します。
If ~ ElseIf ~ Elseでも可能なのですが、可読性などの面から、条件が3つ以上に分岐した場合はSelect Caseが使用されることが多いです。
Select Case 変数
Case 値1
値1の場合に行う処理
Case 値2
値2の場合に行う処理
Case 値3
値3の場合に行う処理
’ 必要な分岐分Caseステートメントを記述
Case Else
いずれのケースにも該当しなかった場合の処理
End Select
それではサンプルを見てみましょう。
Console.WriteLineを使って、Select Caseの動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Dim a As Integer = 2 Dim b As Integer = 3 Dim c As Integer = 4 ' aに対する判定 Select Case a Case 1 Console.WriteLine("aの値は1です") Case 2 Console.WriteLine("aの値は2です") Case 3 Console.WriteLine("aの値は3です") Case Else Console.WriteLine("aの値は不明です") End Select ' bに対する判定 Select Case b Case 1 Console.WriteLine("bの値は1です") Case 2 Console.WriteLine("bの値は2です") Case 3 Console.WriteLine("bの値は3です") Case Else Console.WriteLine("bの値は不明です") End Select ' cに対する判定 Select Case c Case 1 Console.WriteLine("cの値は1です") Case 2 Console.WriteLine("cの値は2です") Case 3 Console.WriteLine("cの値は3です") Case Else Console.WriteLine("cの値は不明です") End Select |
上記を実行した結果がこちらです。
実行結果
aの値は2です
bの値は3です
cの値は不明です
実行結果がコンソールに出力されました。
指定した変数の値に応じて、該当したケースの処理が実行されているのがわかります。
以下のように記述することで、OR条件も実現することが可能です。
Select Case 変数
Case 値1, 値2
値1または値2の場合に行う処理
Case Else
いずれのケースにも該当しなかった場合の処理
End Select
以上が、複数条件の分岐を行う「Select Case」の使い方です。
使用頻度が高いので、ぜひ参考にしてみてください。