前回の記事では、判定文のIf文を取り上げました。
https://qiita.com/HiHiroyoshi/items/d8e82fb303da6861169d
今回の記事では、Select文を取り上げたいと思います。
(SQLのSELECT文とは、混同しないように気を付けましょう。)
前回のIf文では、ネスト(入れ子)にしていくと、 プログラムのコード が読みにくくなるといったことを指摘しました。
今回のSelect文では、場合分けがキーワードです。
例えばある変数group(分類)を例に考えます。
このgroupはString型(文字列)で、A,B,C,D,Eの5種類のデータが記載されているとします。
分類 | 値 |
---|---|
A | 1 |
B | 2 |
C | 3 |
D | 2 |
E | 5 |
分類ごとに、上記の値をscoreに入れるプログラムを作成してみましょう。まずは、If文を例に出します。
Dim group As String = "A"
Dim score As Integer
If group = "A" Then
score = 1
ElseIf group = "B" Then
score = 2
ElseIf group = "C" Then
score = 3
ElseIf group = "D" Then
score = 2
ElseIf group = "E" Then
score = 5
End If
こういった形です。
これと同じ動作をSelect文を利用して書いてみます。
Dim group As String = "A"
Dim score As Integer
Select Case group
Case "A"
score = 1
Case "B", "D"
score = 2
Case "C"
score = 3
Case "E"
score = 5
End Select
こういったプログラムのコードになります。
読みやすい(可読性が高い) ですよね!
また、BとDの場合は、同様の値を入れるため、
カンマ区切りでつなげることも可能です。
まとめ
場合分けの場合は、Select文にできないか検討してみましょう。