条件分岐のIf文では、xxxの場合は○○○の処理、
zzzの場合は△△△の処理をする。
といったプログラムを作りましたが、
今回は、条件分岐が非常に多い時に重宝する
Select Case文を説明します。
1~12と数字を入れると、1月から12月までのそれぞれの月名を
英語で表示するプログラムを作る事にします。
Sub Main()
Dim a As Integer
Dim str As String
Console.WriteLine("月を入力して下さい。(1~12月)")
str = Console.ReadLine()
a = CInt(str)
Select Case a
Case 1
Console.WriteLine("January")
Case 2
Console.WriteLine("February")
Case 3
Console.WriteLine("March")
Case 4
Console.WriteLine("April")
Case 5
Console.WriteLine("May")
Case 6
Console.WriteLine("June")
Case 7
Console.WriteLine("July")
Case 8
Console.WriteLine("August")
Case 9
Console.WriteLine("September")
Case 10
Console.WriteLine("October")
Case 11
Console.WriteLine("November")
Case 12
Console.WriteLine("December")
Case Else
Console.WriteLine("エラー")
End Select
End Sub
プログラムを実行すると以下のようになります。
月を入力して下さい。(1~12月)
1
January
月を入力して下さい。(1~12月)
13
エラー
結果は、上記のように表示されます。
まず、新しい記述が出てきました。
Select Case a
Select Caseの後には、比較対象とする変数などを記述します。
この場合は、変数aを対象とする。という意味になります。
次のCase文は、「変数aが1の場合」と言う意味です。
そして、変数aが1の場合、すぐ下の文が実行されます。
Case Elseは、上で書いたCase文の
どれにも当てはまらなかった場合。
と言う意味です。
この場合、1~12の数値を対象としてるので、
それ以外の数値の場合は、
“エラー”と表示するようにしました。
このプログラムをIf文で書き換えるとしたら、
Else If ~~~と言う記述が多くなってしまい、
見た目的にも、分かりやすさ的にもSelect Case文に軍配が上がります。
If文とSelect Case文のどちらを使うかは、その時の状況に応じて
適切に使い分ける必要があります。
簡単なswitch文の使い方でした。