Select Case 制御文 [VB 2010]

Visual Basic 2010/2008 超やさしい文法

   Select Case 制御文

Select Caseを使うと、条件式をいくつも書くことができ、Case句の数だけ分岐処理を実行することができます。

条件分岐処理

Select Caseステートメントを使うと、複数の条件判定を、スマートにプログラミングできます。

複数のCase句の条件式を満たす時は、最初に条件式を満たしたCase句だけが実行されます。最後のCase Else 句を省略すると、すべてのCase句の条件式を満たさなかった場合には、何も実行されません。

  Select Case 条件判定式1 Then
      ' 条件1が成立した場合の処理
      ..........
      .......
      ..........
  Case 条件判定式2
      ' 条件判定2が成立した場合の処理
      ..........
      .......
      ..........
  case 条件判定式3
      ' 条件判定3が成立した場合の処理
      ..........
      .......
      ..........
  Case Else    ' 省略可能
      ' 上の条件式すべてを満たさなかった場合の処理
      ..........
      .......
      ..........
  End Select

Case 句の便利なのは、いろいろな条件判定式が書けることです。ふたつ例を挙げておきます。

  ' 値の範囲指定ができる
  Case 120 To 200    
 
  ' 複数の条件が指定できる
  Case 1 To 10, 20, 30, 40, Is >= 100

Select Case 句を使って、キーボードから年齢を入力すると、年齢に応じたメーッセージを表示するプログラムを作成します。

Module Module1
 
    Sub Main()
        ' 変数の宣言
        Dim inStr As String
        Dim inNum As Integer
        Dim msg As String
        ' キーボードから入力
        Console.WriteLine("年齢を入力してください")
        inStr = Console.ReadLine()
        ' 文字列を整数に変換
        inNum = Integer.Parse(inStr)
        ' 年齢を判定して処理を振分
        Select Case inNum
            Case Is < 0, Is >= 150
               ' メッセージを作成
                msg = "年齢に誤りがあります"
            Case 0 To 19
                msg = "まだ選挙権はありません"
            Case 20
                msg = "大人の仲間入りです"
            Case 30, 40, 50
                msg = inStr & "歳です。飲みすぎに注意"
            Case 21 To 59
                msg = "運動していますか"
            Case Else
                msg = "健康に気をつけましょう"
        End Select
        ' 結果を表示
        Console.WriteLine(msg)
    End Sub
 
End Module

次回は、繰り返し処理 For Next について勉強します。


Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.