VB.Net の Select Case ステートメントと例

⚡ スマートサマリー

VB.Net の Select Case は、1 つの式を値のリストと比較し、一致するブロックを実行する条件文です。これにより、長い If Then ElseIf チェーンよりも、より簡潔で読みやすい分岐処理が可能になります。

  • 🔍 目的: 1つの式を複数の値に対してテストし、一致するケースを実行します。
  • 🧩 構文: 各分岐はCaseで始まり、ブロックはEnd Selectまで続きます。
  • 🔢 複数のマッチ: One Case は、カンマ区切りのリスト、範囲指定 (To)、および比較演算子 (Is) を受け入れます。
  • 🧩 それ以外の場合: Case Else は、他のどの Case もその値と一致しない場合にのみ実行されます。
  • 🔤 大文字と小文字の区別: ToLowerとToUpperはテキストを正規化し、文字の大文字・小文字を区別せずにマッチングできるようにします。
  • 🤖 AIによる支援: GitHub CopilotとIntelliCode 入力しながらSelect Caseブロックを完成させてください。

VB.Net の Select Case ステートメント

VB.Net の Select Case とは何ですか?

ケースを選択 は条件文であり、値のセットに対して変数が等しいかどうかをテストするのに役立ちます。 それぞれの値はケースと呼ばれ、オンになっている変数は、選択されたすべてのケースについてチェックされる必要があります。

Select Case ステートメントを使用すると、変数の内容をテストする簡単な方法が提供されます。 ただし、問題の変数のオプション数が限られている場合にのみ使用に適しています。

VB.Net の Select Case ステートメントの構文

Select Case ステートメントは次のように宣言されます。 VB.Net 以下の構文を使用します。

Select [ Case ] your_expression
   [ Case expression_list
      [ statement(s) ] ]
   [ Case Else
      [ else statement(s) ] ]
End Select

構文で使用されるパラメーターについて説明します。

  • あなたの式: これは、基本的なもののいずれかに評価される式を示します。 データ型 でサポートされています Microsoft VB.Net。
  • 式リスト: 式の一致値を示す式句。 複数の文節がある場合は、カンマ(,)で区切ってください。
  • ステートメント: Case に続くステートメントで、select 式がexpression_list 内のいずれかの句と一致した後に実行されます。
  • else ステートメント: Case Else に続き、選択式が Case ステートメントのexpression_list 内の句のいずれかと一致しなかった場合に実行されるステートメント。

VB.Net Select Case ステートメントのプログラム例

VB.NetでSelect Caseステートメントを使用する方法を説明するために、例を見てみましょう。

ステップ1) まず、新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Dim name As String
        name = "Guru99"
        Select Case name

            Case "John"
                Console.WriteLine("Hello John")

            Case "Guru99"
                Console.WriteLine("Hello Guru99")

            Case "Alice"
                Console.WriteLine("Hello Alice")

            Case "Joel"
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")
        Console.ReadKey()
    End Sub
End Module

ステップ3) プログラムを実行するには、上部のバーから [開始] ボタンをクリックします。次の結果が得られます。

VB.Net Select Case プログラムの出力で「こんにちは」と印刷しています。 Guru99

ここで使用したコードのスクリーンショットを示します。

Visual Studio で表示される VB.Net Select Case のサンプルコード

の説明 Code:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャの開始。
  3. name という名前の文字列変数を作成します。
  4. 値を割り当てる Guru変数名に99を代入します。
  5. 変数名の値は、さまざまな Case ステートメントとの比較を実行して一致を見つけるために使用されます。
  6. 変数名の値が John の場合。
  7. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  8. 変数名の値が Guru99.
  9. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  10. 変数名の値が「Alice」の場合。
  11. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  12. 変数名の値が Joel の場合。
  13. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  14. 上記の Case ステートメントがいずれも true でない場合、または一致する場合。
  15. 上記の Case が true の場合、つまり Case ステートメントが一致しない場合にコンソールに出力されるテキスト。
  16. Select ステートメントの終わり。
  17. このステートメントは、Case ステートメントが一致したかどうかに関係なく、画面にテキストを出力します。 常に実行されます。
  18. コンソール ウィンドウをしばらく一時停止して、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  19. メインのサブプロシージャの終了。
  20. モジュールの終わり。

ユーザーに名前を入力させて、その入力に基づいて判断を下すこともできます。

ステップ1) 新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Console.Write("Enter your name: ")
        Dim name As String = Console.ReadLine()
        Select Case name

            Case "John"
                Console.WriteLine("Hello John")

            Case "Guru99"
                Console.WriteLine("Hello Guru99")

            Case "Alice"
                Console.WriteLine("Hello Alice")

            Case "Joel"
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")
        Console.ReadKey()
    End Sub
End Module

ステップ3) 実行するには、上部のバーから [開始] ボタンをクリックします。次の結果が返されます。

VB.Net Select Case コンソールプロンプトで名前の入力を求められます

ステップ4) 名前を入力します Guru99と入力してエンターキーを押してください。以下の内容が表示されるはずです。

ユーザーが入力した後の VB.Net Select Case の出力 Guru99

コードのスクリーンショットは次のとおりです。

VB.Net の Select Case コードで Console.ReadLine を使用して入力を読み取る

の説明 Code:

  1. Module1 という名前のモジュールを作成します。
  2. メインのサブプロシージャの開始。
  3. ユーザーに名前の入力を指示するテキストをコンソールに表示します。
  4. name という名前の文字列変数を作成し、ユーザーにコンソールでこの変数の値を入力するように求めます。
  5. 変数名の値は、さまざまな Case ステートメントとの比較を実行して一致を見つけるために使用されます。
  6. 変数名の値が John の場合。
  7. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  8. 変数名の値が Guru99.
  9. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  10. 変数名の値がAliceの場合。
  11. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  12. 変数名の値が Joel の場合。
  13. 上記のケースが true/一致する場合にコンソールに出力されるテキスト。
  14. 上記の Case ステートメントがいずれも true でない場合、または一致する場合。
  15. 上記の Case が true の場合、つまり Case ステートメントが一致しない場合にコンソールに出力されるテキスト。
  16. Select ステートメントの終わり。
  17. このステートメントは、Case ステートメントが一致したかどうかに関係なく、画面にテキストを出力します。 常に実行されます。
  18. コンソール ウィンドウをしばらく一時停止して、ユーザーがコンソール ウィンドウを閉じる操作を行うのを待ちます。
  19. メインのサブプロシージャの終了。
  20. モジュールの終わり。

VB.Net の ToLower() および ToUpper() 関数

Select Case ステートメントは大文字と小文字を区別します。つまり、guru99 は、 Guru99. ただし、このステートメントの場合の問題を処理するために、ToLower() 関数と ToUpper() 関数を使用できます。

VB.Net の ToLower() と ToUpper() の例

VB.NetにおけるToLower()関数とToUpper()関数の例を以下に示します。

ステップ1) 新しいコンソール アプリケーションを作成します。

ステップ2) 次のコードを使用します。

Module Module1
    Sub Main()
        Console.Write("Enter your name: ")
        Dim name As String = Console.ReadLine()
        Select Case name.ToLower()
		
            Case "john." 
                Console.WriteLine("Hello John")

            Case "guru99." 
                Console.WriteLine("Hello Guru99")

            Case "alice." 
                Console.WriteLine("Hello Alice")

            Case "joel." 
                Console.WriteLine("Hello Joel")

            Case Else
                Console.WriteLine("unknown name")

        End Select
        Console.WriteLine("VB.NET is easy!")
        Console.ReadKey()
    End Sub
End Module

ステップ3) コードを実行するには、上部のバーにある [開始] ボタンをクリックします。次の出力が表示されます。

VB.Net ToLower 関数の Select Case のコンソール出力

ステップ4) 名前を入力します Guru99(Gは大文字)と入力し、キーボードのエンターキーを押してください。すると、以下の出力が表示されるはずです。

VB.Net で大文字に対応する ToLower 付きの Select Case を使用する Guru99入力

コードのスクリーンショットは次のとおりです。

VB.Net ToLowerとToUpper Select Caseのサンプルコード

の説明 Code:

Code 5行目: 変数名の値は、さまざまな Case ステートメントとの比較を実行して一致するものを見つけるために使用されます。ToLower() 関数は、ユーザーが入力した名前が Case ステートメントの評価前に小文字に変換されることを保証します。つまり、ユーザーが次のように入力した場合、 Guru99と入力すると、すぐにguru99に変換され、その後Case文の評価が行われます。ユーザーがJohnと入力すると、Case文の評価が行われる前にすぐにjohnに変換されます。

コードの残りの部分は上記と同じです。

よくあるご質問

値をカンマで区切って列挙するか(例:6、7、8)、範囲を指定する場合は「1~10」、または「5より大きい」を使用してください。

Select Case は、1 つの式を複数の値に対してテストし、読みやすいコードになります。関連性のない、または複雑なブール条件には、If Then ElseIf を使用してください。

いいえ。最初に一致した Case のみが実行され、その後、制御は End Select をスキップします。VB.Net では、フォールスルーを防ぐために Break ステートメントは必要ありません。

Case Elseはデフォルトの分岐であり、他のCaseに一致するケースがない場合にのみ実行されます。これはオプションですが、予期しない値を安全に処理します。

その表現は基本的なものでなければならない データ・タイプ ブール値、文字、日付、整数、長整数など、 Double、小数、オブジェクト、または文字列。

はい。外側の Case ブロックの中に、完全な Select Case ブロックを配置してください。内側のテストは外側の条件が満たされた後にのみ実行されますが、ネストが深くなると可読性が損なわれます。

Yes. GitHubコパイロット 平易な英語のコメントを、完全なSelect Caseブロックに変換します。 Revつまり、これらの事例はあらゆる期待値を網羅しているということだ。

はい。Visual Studio 2026 は Copilot と インテリCode 行全体を対象とした、文脈を考慮したケース補完機能。