【入門編】初心者向け:VB.NETの「Select Case」文における「Is」キーワードと範囲指定の活用:複数の「If-ElseIf」をスマートに整理する記述術 – Visual Basic (VB / VB.NET)解析バイブル

スポンサーリンク

「Ifの迷宮」から脱出せよ!VB.NETの『Select Case』でコードを究極に洗練させる技術

こんにちは。現場で長年コードの海を泳いできたエンジニアです。

皆さんは、こんな経験はありませんか?
「条件分岐が増えすぎて、`If`、`ElseIf`が画面を埋め尽くし、どこで何が起きているのか分からなくなった……」

マクロの記録から一歩踏み出したばかりの頃、誰もが通る道です。しかし、今日でその「迷宮」とはお別れしましょう。`Select Case`文と「Is」キーワードを使いこなせば、あなたのコードは驚くほどエレガントに生まれ変わります。

なぜ「If文の羅列」が危険なのか?

初心者が陥りやすいのが、条件をすべて`If`で書いてしまうこと。

‘ 【反面教師】読みにくく、拡張性に乏しいコード
If score >= 0 And score < 60 Then result = "不可" ElseIf score >= 60 And score < 70 Then result = "可" ElseIf score >= 70 And score < 80 Then result = "良" ' ...以下続く これの何が問題か? それは「条件の重複リスク」と「可読性の低下」です。どこか一つでも論理演算子(And/Or)を書き間違えたら、バグの温床になります。修正するたびに胃が痛くなるようなコードは、今日で卒業です。

救世主:Select Case 文の「範囲指定」と「Is」

`Select Case`は、特定の変数の値を「どのケースに当てはまるか」で振り分けるための強力な制御構文です。特に、数値の範囲を扱う際に真価を発揮します。

基本の構文

Select Case score
Case Is < 60 result = "不可" Case 60 To 69 result = "可" Case 70 To 79 result = "良" Case Is >= 80
result = “優”
Case Else
result = “エラー”
End Select

ここがポイント!

  • `Is`キーワード: 「比較演算子(<, >, <=, >=, <>, =)」を使いたいときに必須のパスポートです。
  • `To`キーワード: 「60 To 69」のように、直感的な範囲指定が可能です。
  • `Case Else`: 想定外の値が入ったときの「安全装置」です。これがあるだけで、プログラムの堅牢性が段違いになります。

実践!現場で使える「条件の組み合わせ」テクニック

さらに一歩進んだ使い方も覚えましょう。`Select Case`は、カンマで区切ることで「または(OR)」の条件をスマートに記述できます。

‘ 曜日によって処理を変える例
Dim dayOfWeek As String = “土”

Select Case dayOfWeek
Case “月”, “火”, “水”, “木”, “金”
Console.WriteLine(“平日です。仕事に励みましょう。”)
Case “土”, “日”
Console.WriteLine(“週末です。ゆっくり休みましょう。”)
Case Else
Console.WriteLine(“正しい曜日を入力してください。”)
End Select

このように、複数の値をひとまとめにできるため、コードの行数を劇的に削減できます。これができると、後から「祝日を追加したい」といった仕様変更にも瞬時に対応できるようになります。

初学者が陥りやすい罠と対策

1. 「Is」を書き忘れる

`Case < 60` と書こうとしてエラーになる人が非常に多いです。VB.NETでは、比較演算子を使うときは必ず `Case Is < 60` と書くルールを覚えておいてください。

2. 条件のオーバーラップ(重複)

`Case 0 To 100` の後に `Case 80 To 120` と書くと、80〜100の数値がどちらで判定されるか迷います。`Select Case`は上から順番に判定し、最初に一致したケースだけを実行するというルールがあります。範囲を書くときは、重なりがないか注意深く設計しましょう。

最後に:なぜ「書き方」にこだわるのか?

エンジニアにとって、コードは「コンピュータへの命令」であると同時に、「未来の自分や仲間への手紙」でもあります。

複雑な`If`の迷宮を整理して、誰が見ても一瞬でロジックが理解できる`Select Case`に書き換える。その小さな工夫が、結果として「バグのない堅牢なシステム」を作り上げます。

「ここをクリアすれば、VB.NETの基本はバッチリですよ」

まずは今書いているコードの中で、`ElseIf`が3つ以上並んでいる箇所を探してみてください。そこが、あなたのコードをプロレベルに引き上げる最初のステップです。

次回の記事では、さらに深い「オブジェクトのライフサイクル」の話でお会いしましょう。あなたのコードが、今日も軽やかに動くことを祈っています!

タイトルとURLをコピーしました