C#プログラミングを学び始めたばかりの方にとって、条件分岐は避けて通れない重要なトピックです。特に、複数の条件に基づいて処理を分岐させたい場合、switch case構文は非常に便利なツールとなります。この記事では、C#におけるswitch case構文の基本から応用まで、初心者の方にも分かりやすく解説します。
目次
switch case構文とは?
switch case構文は、ある変数の値に応じて異なる処理を実行するための制御構造です。if-else文の連続使用と比べて、コードがより読みやすく、効率的になることが多いです。
基本的な構造は以下のようになります:
switch (変数)
{
case 値1:
// 値1の場合の処理
break;
case 値2:
// 値2の場合の処理
break;
// 他のケース...
default:
// どのケースにも当てはまらない場合の処理
break;
}
簡単な例で理解する
実際の例を見てみましょう。曜日に応じて異なるメッセージを表示するプログラムを作ってみます。
using System;
class Program
{
static void Main()
{
Console.Write("曜日を入力してください(例:月):");
string day = Console.ReadLine();
switch (day)
{
case "月":
case "火":
case "水":
case "木":
case "金":
Console.WriteLine("平日です。頑張って働きましょう!");
break;
case "土":
case "日":
Console.WriteLine("週末です。ゆっくり休みましょう!");
break;
default:
Console.WriteLine("正しい曜日を入力してください。");
break;
}
}
}
このプログラムでは:
- ユーザーに曜日を入力してもらいます。
- 入力された曜日に応じて、異なるメッセージを表示します。
- 平日(月〜金)と週末(土・日)で異なる処理を行います。
- 正しくない入力の場合は、defaultケースで対応します。
switch case構文の重要なポイント
- break文の使用: 各caseブロックの最後には必ずbreak文(またはreturn文)が必要です。これがないと、次のcaseの処理も続けて実行されてしまいます。
- defaultケース: どのcaseにも当てはまらない場合の処理を書きます。省略可能ですが、予期しない入力に対応するために書くことをおすすめします。
- 複数のcaseをまとめる: 上記の例のように、同じ処理を行う複数のcaseはまとめて書くことができます。
応用:switch式を使う(C# 8.0以降)
C# 8.0からは、より簡潔に書ける「switch式」が導入されました。先ほどの例を switch式で書き直すとこうなります:
string message = day switch
{
"月" or "火" or "水" or "木" or "金" => "平日です。頑張って働きましょう!",
"土" or "日" => "週末です。ゆっくり休みましょう!",
_ => "正しい曜日を入力してください。"
};
Console.WriteLine(message);
この書き方では:
=>
の左側に条件、右側に返す値を書きます。or
を使って複数の条件をまとめられます。_
はdefaultケースを表します。
まとめ
switch case構文は、複数の条件に基づいて処理を分岐させる強力なツールです。基本的な使い方は簡単ですが、使いこなすことで読みやすく効率的なコードを書くことができます。
初心者の方は、まずは単純な値の比較から始めて、徐々に複雑な条件分岐に挑戦してみてください。実際のプログラムで使ってみることで、理解がより深まるでしょう。switch case構文をマスターすれば、C#プログラミングの幅が大きく広がります!
コメント