カテゴリ: VB.NET 更新日: 2025/12/13

VB.NETのSelect Case文を徹底解説!初心者でもわかる分岐処理の基本と応用例

VB.NETのSelect Case文の基本と応用例
VB.NETのSelect Case文の基本と応用例

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETでたくさんの条件を分けたいとき、If文をいっぱい書くのは大変じゃないですか?」

先生

「確かにその通りですね。そんなときに便利なのがSelect Case文なんです。」

生徒

「Select Caseって何ですか?If文とどう違うんですか?」

先生

「簡単に言えば、条件がたくさんあるときにスッキリ書ける方法です。今日はその基本と応用を学んでいきましょう。」

1. Select Case文とは?

1. Select Case文とは?
1. Select Case文とは?

VB.NETのSelect Case文は、ある値に応じて処理を分けるための条件分岐構文です。If文を何個も並べるよりも見た目がスッキリし、読みやすいコードを書くことができます。

たとえば、「数値が1のとき」「2のとき」「3のとき」と条件がたくさんある場合、If文だと次のように長くなってしまいます。


If number = 1 Then
    Console.WriteLine("りんご")
ElseIf number = 2 Then
    Console.WriteLine("バナナ")
ElseIf number = 3 Then
    Console.WriteLine("みかん")
Else
    Console.WriteLine("その他の果物")
End If

このように長くなると読みづらいですよね。そんなときに使うのがSelect Case文です。

2. Select Case文の基本構文

2. Select Case文の基本構文
2. Select Case文の基本構文

基本的な書き方は次のようになります。


Select Case 変数名
    Case 値1
        ' 値1のときの処理
    Case 値2
        ' 値2のときの処理
    Case Else
        ' どの値にも当てはまらないときの処理
End Select

では、実際に例を見てみましょう。

3. 基本例:果物の番号で名前を表示する

3. 基本例:果物の番号で名前を表示する
3. 基本例:果物の番号で名前を表示する

ユーザーが入力した数字に応じて、果物の名前を表示するプログラムを作ってみましょう。


Dim number As Integer = 2

Select Case number
    Case 1
        Console.WriteLine("りんご")
    Case 2
        Console.WriteLine("バナナ")
    Case 3
        Console.WriteLine("みかん")
    Case Else
        Console.WriteLine("その他の果物")
End Select

バナナ

このように、numberの値が2なので、「バナナ」と表示されました。複数の条件をシンプルに書けるのがSelect Case文の大きな利点です。

4. 範囲を使った条件分岐

4. 範囲を使った条件分岐
4. 範囲を使った条件分岐

Select Caseでは、単なる一致だけでなく「範囲」も扱うことができます。たとえば、点数によって評価を分けたい場合です。


Dim score As Integer = 78

Select Case score
    Case 90 To 100
        Console.WriteLine("A評価")
    Case 70 To 89
        Console.WriteLine("B評価")
    Case 50 To 69
        Console.WriteLine("C評価")
    Case Else
        Console.WriteLine("不合格")
End Select

B評価

このように、「To」を使うと「~から~まで」という範囲指定ができます。If文で書くよりもずっと読みやすくなります。

5. 複数の値をまとめて指定する

5. 複数の値をまとめて指定する
5. 複数の値をまとめて指定する

複数の値で同じ処理をしたいときには、カンマ区切りで書くこともできます。たとえば、曜日を判定して「平日」か「休日」を表示する例を見てみましょう。


Dim day As String = "日"

Select Case day
    Case "月", "火", "水", "木", "金"
        Console.WriteLine("平日です。仕事や学校があります。")
    Case "土", "日"
        Console.WriteLine("休日です。ゆっくり休みましょう。")
    Case Else
        Console.WriteLine("正しい曜日を入力してください。")
End Select

休日です。ゆっくり休みましょう。

このように、同じ処理をする複数の条件を一つにまとめられるのもSelect Caseの便利なポイントです。

6. Case Elseで予期しない値にも対応

6. Case Elseで予期しない値にも対応
6. Case Elseで予期しない値にも対応

Case Elseは、どの条件にも当てはまらなかったときの処理を記述する場所です。予想外の値が入力された場合に備えて、エラーやメッセージを出すのに使います。


Dim color As String = "紫"

Select Case color
    Case "赤"
        Console.WriteLine("情熱の色です。")
    Case "青"
        Console.WriteLine("冷静な色です。")
    Case "緑"
        Console.WriteLine("自然の色です。")
    Case Else
        Console.WriteLine("その色の意味は登録されていません。")
End Select

その色の意味は登録されていません。

このように、Case Elseを入れておくことで、思わぬ入力にも対応でき、プログラムが安全になります。

7. 応用例:季節を判定するプログラム

7. 応用例:季節を判定するプログラム
7. 応用例:季節を判定するプログラム

最後に、少し応用的な例を見てみましょう。月の数字に応じて季節を判定するプログラムです。


Dim month As Integer = 5

Select Case month
    Case 3 To 5
        Console.WriteLine("春です。花が咲く季節ですね。")
    Case 6 To 8
        Console.WriteLine("夏です。暑い日が続きます。")
    Case 9 To 11
        Console.WriteLine("秋です。紅葉がきれいです。")
    Case 12, 1, 2
        Console.WriteLine("冬です。寒さに気をつけましょう。")
    Case Else
        Console.WriteLine("月の値が正しくありません。")
End Select

春です。花が咲く季節ですね。

このように、Select Case文は複数の条件を整理して見やすく書けるため、If文よりもきれいでミスの少ないコードになります。初心者のうちからしっかり使い方を覚えておくと、VB.NETでの開発がぐっと楽になりますよ。

まとめ

まとめ
まとめ

VB.NETのSelect Case文は、複数の条件分岐を整理して読みやすく書くための強力な構文です。If文で多くの条件を並べると可読性が低下し、間違いやすくなりますが、Select Caseを使うとスッキリと整理でき、条件に応じた処理を簡単に管理できます。基本的には変数の値に応じて、Caseごとに処理を分け、どの条件にも当てはまらない場合はCase Elseで予期しない値に対応するのがポイントです。

また、Select Case文では単純な一致条件だけでなく、範囲を指定するCase 〇 To 〇や、複数の値をまとめて指定するCase 値1, 値2といった書き方も可能です。これにより、点数評価や曜日判定、季節判定など、複雑な条件分岐でもコードが非常に読みやすくなります。初心者でも、この文法を使いこなすことでプログラムの保守性と可読性を高めることができます。

サンプルプログラム:Select Case文の応用例


Dim number As Integer = 3

Select Case number
    Case 1, 2
        Console.WriteLine("少数です")
    Case 3 To 5
        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

中間の値です
平日です。学校や仕事があります。

このように、範囲指定や複数値指定を活用すると、Select Case文は条件分岐を整理してわかりやすく書けます。

先生と生徒の振り返り会話

生徒

「先生、Select Case文はIf文より見やすくなるんですね。」

先生

「その通りです。特に条件が多い場合や、範囲や複数値をまとめて処理したい場合にはSelect Case文が便利です。」

生徒

「Case Elseを入れると、予期しない入力にも対応できるんですね。」

先生

「はい。これでプログラムがより安全になり、思わぬエラーを防ぐことができます。初心者でも安心して条件分岐を書けます。」

生徒

「範囲や複数値を指定できるので、点数や曜日、季節判定などもスッキリ書けるんですね。」

先生

「その通りです。Select Case文を上手に使うと、VB.NETのプログラムが読みやすくなり、保守性も向上します。最初は基本を押さえて、応用例を真似しながら慣れると良いでしょう。」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NETのクロスサイトスクリプティング(XSS)を完全解説!初心者でもわかる仕組みと対策
New2
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
New3
ASP.NET
ASP.NETのセキュリティ対策を完全ガイド!初心者でもわかるXSS・CSRF・SQLインジェクションの基本
New4
VB.NET
VB.NETで文字列を検索する方法をマスター!IndexOfとContainsの使い方を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETで文字列を連結する方法を完全ガイド!&演算子とString.Concatの使い方
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのコレクション操作でよくあるエラーと解決策!初心者向けトラブル脱出ガイド
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの文字列操作を完全ガイド!初心者が覚えるべき基本と宣言方法
No.5
Java&Spring記事人気No5
ASP.NET
ASP.NET MVCでセッションを使う方法を完全解説!初心者でもわかる状態管理入門
No.6
Java&Spring記事人気No6
ASP.NET
ASP.NETの認証の仕組みを完全解説!初心者でもわかるログインの基本
No.7
Java&Spring記事人気No7
VB.NET
VB.NETでコレクションをソートする方法を完全ガイド!並び替えの基本
No.8
Java&Spring記事人気No8
ASP.NET
ASP.NETの認証と認可の違いを完全解説!初心者でもわかるOAuth・JWT・Azure ADの基本