カテゴリ: 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 MVCで学ぶセッションと認証の仕組みをやさしく解説!初心者でも安心して理解できる入門ガイド
New2
VB.NET
VB.NETで名前空間を整理する方法を完全ガイド!初心者でもわかるNamespaceの基本
New3
ASP.NET
ASP.NET CoreのCookie認証を完全ガイド!初心者でもわかるログインの仕組み
New4
VB.NET
VB.NETでStaticクラスを作る方法を完全ガイド!初心者でもわかるクラスとオブジェクト指向入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのインストール方法まとめ!Visual Studioを使った環境構築手順
No.2
Java&Spring記事人気No2
VB.NET
VB.NETプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのDateTime型を完全マスター!日付と時間の操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ASP.NET
ASP.NETを安定稼働させるためのIISアプリケーションプール設定完全ガイド【初心者向け】
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの構文ルールまとめ!インデント・改行・予約語など初心者が最初に覚えるべきポイント
No.6
Java&Spring記事人気No6
VB.NET
VB.NETで日付を文字列に変換!ToStringやFormatの使い方を徹底解説
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
ASP.NET
ASP.NET WebFormsとは?基本概念と仕組みを初心者向けにやさしく解説