KEN's .NET

[初心4] Select Case文

ホーム > KEN's .NET > [初心4] Select Case文

ここではプログラミングがはじめての人のための解説をおこないます。 今回は、Select Case文を使った条件分岐について学習しましょう!

0.はじめに

「[初心3] もっと If分 」では、多岐に条件分岐する方法を説明しました。
例えば、
    Dim a As Integer
    a = 2 ' 2番目の条件に合致するので、処理Bが実行される
    If a = 1 Then
        ' 処理A
    ElseIf a = 2 Then
        ' 処理B
    ElseIf a = 3 OrElse a = 4 Then ' OrElseは「または」の意味で、条件全体としては「a = 3、または、a = 4」の意味
        ' 処理C
    ElseIf 5 <= a AndAlso a <= 10 Then ' <=は「小なりイコール」の意味で、条件全体としては「aは5以上、かつ、aは10以下」の意味
        ' 処理D
    Else
        ' 処理E
    End If
   図1 If文で複数に条件分岐

のようにして、処理を複数に分岐できる構文でしたね。これはこれでいいのですが、 図1のようなIf文であれば、もっとシンプルに書くことができます。それがSelect Case文です。

1.Select Case 文

    Dim a As Integer
    a = 2 ' 2番目の条件に合致するので、処理Bが実行される
    Select Case a
    Case 1
        ' 処理A
    Case 2
        ' 処理B
    Case 3, 4
        ' 処理C
    Case 5 To 10
        ' 処理D
    Case Else
        ' 処理E
    End Select
   図2 Select Case文で複数に条件分岐

Select Case文では、Select Caseの後に条件分岐の主役となる変数aを書きます。 それ以降のCaseでは主役の変数aと比較する値を書きます。 「aがxなら処理yをする」という典型的パターンを複数並べるような場合にはIf文よりも適しています。

  • 「主役aの値がxなら処理Aをする」の「主役の値がxなら」を「Case x」と書く
  • 「主役aの値がxまたはyまたはzなら処理Cをする」は「Case x, y, z」とカンマで区切って書く
  • 「主役aの値がx以上y以下(xからyまで)のとき処理zをする」というようなときも「Case x To y」というシンプルな形
基本的にこの3パターンがSelect Caseで最も利用される書き方です。 この3つをまず覚えましょう。他の使い方はVB.NETではあまり使わないので説明しませんが、 興味があれば、「.NET Framework SDK ドキュメント」で「Select Case」を調べてみましょう。

2.学んだこと

キーワード:Select Case 、OrElse
  • Select Case x 〜 Case y1, y2 〜 Case z1 To z2 ・・・ End Select
  • OrElseは「A、または、B」の意味


ホーム > KEN's .NET > [初心4] Select Case文

[e-mail]yone_ken00@hotmail.com