zukucode
主にWEB関連の情報を技術メモとして発信しています。

VB.NET Select Caseで条件分岐するときのポイントと注意点

他の言語のswitch文をVB.NETで行うにはSelect Caseを使用します。

Dim num As Integer = 3
Select Case num
    Case 1
        'numの値が1の場合の処理
    Case 2
        'numの値が2の場合の処理
    Case 3
        'numの値が3の場合の処理
    Case Else
        'numの値が上記以外の場合の処理
End Select

他の言語との比較

例えばJavaScriptでは以下のようにbreakをしなければ次のcaseの処理が行われてしまいます。

var num = 3;
switch (num) {
  case 1:
    // numの値が1の場合の処理
    break;
  case 2:
    // numの値が2の場合の処理
    break;
  case 3:
    // numの値が3の場合の処理
    break;
  default:
    // numの値が上記以外の場合の処理
}

VB.NETではBreakの記述は不要です。

最初のCase文の処理が行われれば、以降のCaseの処理は行われません。

複数の条件を指定する

例えば「numの値が2または3の場合」のような条件を指定したい場合は、以下のようにカンマ(,)で区切って指定します。

num = 3の場合は複数のCaseに該当しますが、処理が実行されるのは最初に該当したCaseの処理のみです。

Dim num As Integer = 3
Select Case num
    Case 1
        'numの値が1の場合の処理
    Case 2, 3
        'numの値が2または3の場合の処理
    Case 3
        'この処理は行われない
    Case Else
        'numの値が上記以外の場合の処理
End Select

関連記事