VB.NETのSelect Caseで文字列・数値を判定する方法を初心者向けに解説
生徒
「先生、VB.NETで文字や数字の値によって処理を分ける簡単な方法はありますか?」
先生
「あります。VB.NETではSelect Case文を使うと、複数の条件に応じて処理を簡単に分岐させることができます。」
生徒
「If文でも条件分岐はできますよね。Select Caseと何が違うんですか?」
先生
「If文は条件を一つずつ評価するのに対して、Select Caseは対象の値をまとめて判定できるので、特に数値や文字列の判定でコードが読みやすくなります。」
1. Select Caseの基本構文
VB.NETのSelect Case文は、ある変数の値に応じて複数のケースに分けて処理を行う方法です。数値や文字列の判定に使うことができ、条件分岐を整理して書くことができます。
Dim score As Integer = 85
Select Case score
Case 90 To 100
Console.WriteLine("優秀です")
Case 60 To 89
Console.WriteLine("合格です")
Case Else
Console.WriteLine("不合格です")
End Select
合格です
この例では、scoreの値が範囲内にある場合に応じて表示が切り替わります。Case Elseはそれ以外の場合に適用されます。
2. 文字列を判定するSelect Case
Select Caseは数値だけでなく文字列の判定にも使えます。例えば曜日ごとに処理を切り替えたい場合に便利です。
Dim day As String = "火"
Select Case day
Case "月"
Console.WriteLine("週の始まりです")
Case "火"
Console.WriteLine("火曜日です")
Case "水"
Console.WriteLine("水曜日です")
Case Else
Console.WriteLine("その他の曜日です")
End Select
火曜日です
文字列の比較は大文字・小文字を区別します。必要に応じてUCaseやLCaseで統一して判定すると安全です。
3. 複数の値をまとめて判定する方法
1つのCaseに複数の値をカンマで並べると、まとめて判定できます。これによりコードを簡潔にできます。
Dim grade As String = "B"
Select Case grade
Case "A", "A+"
Console.WriteLine("非常に良い")
Case "B", "B+"
Console.WriteLine("良い")
Case "C"
Console.WriteLine("普通")
Case Else
Console.WriteLine("要改善")
End Select
良い
4. 数値の範囲を判定する方法
Case文では範囲を指定することもできます。Toキーワードを使うことで、指定した範囲に値が入っているか判定できます。
Dim age As Integer = 25
Select Case age
Case 0 To 12
Console.WriteLine("子ども")
Case 13 To 19
Console.WriteLine("ティーンエイジャー")
Case 20 To 64
Console.WriteLine("大人")
Case Else
Console.WriteLine("高齢者")
End Select
大人
範囲を使うと、複数の条件を一つのCaseにまとめられるので、コードが見やすくなります。
5. Select Caseのメリットと注意点
- 条件が複数ある場合、If文より見やすく整理できる。
- 文字列や数値の判定に対応している。
- Case Elseを使うと、予期しない値が入った場合にも対応できる。
- 文字列の比較は大文字小文字を区別するため、必要に応じて統一する。
このように、VB.NETのSelect Caseを使うことで、条件分岐が簡潔かつ読みやすく書けます。特に初心者が複雑なIf文を避けたいときに役立ちます。
まとめ
本記事では、VB.NETのSelect Case文を使った文字列や数値の判定方法について、初心者向けに詳しく解説しました。Select Case文は、変数の値に応じて複数の条件に対応する分岐を簡潔に書ける点が特徴です。数値の範囲判定や文字列判定、複数の値をまとめて判定する方法を理解することで、If文を繰り返し書くよりも可読性の高いコードを作ることが可能です。
また、Case Elseを活用することで、想定外の値にも対応でき、プログラムの安全性を高めることができます。数値や文字列の比較では大文字・小文字の違いに注意し、必要に応じてUCaseやLCaseを使って統一することも重要です。範囲判定や複数値のまとめ判定を組み合わせることで、複雑な条件分岐も整理され、読みやすく保守しやすいプログラムを作成できます。
サンプルプログラムの振り返り
' 数値による範囲判定
Dim score As Integer = 85
Select Case score
Case 90 To 100
Console.WriteLine("優秀です")
Case 60 To 89
Console.WriteLine("合格です")
Case Else
Console.WriteLine("不合格です")
End Select
' 文字列による判定
Dim day As String = "火"
Select Case day
Case "月"
Console.WriteLine("週の始まりです")
Case "火"
Console.WriteLine("火曜日です")
Case Else
Console.WriteLine("その他の曜日です")
End Select
' 複数値をまとめて判定
Dim grade As String = "B"
Select Case grade
Case "A", "A+"
Console.WriteLine("非常に良い")
Case "B", "B+"
Console.WriteLine("良い")
Case Else
Console.WriteLine("改善が必要")
End Select
合格です
火曜日です
良い
このサンプルでは、数値範囲判定、文字列判定、複数値のまとめ判定の基本を実践的に学びました。Select Case文を活用することで、複数の条件分岐が整理され、プログラムの読みやすさと保守性が向上します。
生徒
「Select Case文を使うと、If文より条件分岐が簡単に書けてわかりやすいですね。」
先生
「そうです。数値の範囲や文字列、複数値をまとめて判定できるので、コードが整理され読みやすくなります。」
生徒
「Case Elseも使えば、予期しない値にも対応できるんですね。」
先生
「その通りです。プログラムの安全性を高め、意図しない動作を防ぐことができます。初心者でも複雑なIf文を避けて、効率的に条件分岐を作れるようになります。」
生徒
「文字列や数値の判定を組み合わせることで、より実践的な処理が書けるんですね。」
先生
「その通りです。Select Caseを理解すれば、VB.NETで安全かつ効率的に条件分岐を作れるようになります。」