「C#.NET」switchの使い方 警戒心を持って複数の条件を門番神が管理

2024年11月14日木曜日

キーワード(構文) 基本 制御フロー

t f B! P L


自己紹介

私は.NETの「switch」ステートメント、数多の条件の前に立ちはだかり、プログラムの道を守る門番のような役割を担っています。私の役割は、与えられた状況に基づいて正確に判断し、適切な道筋へと導くことです。アースガルズの守護者であるように、私は忠実に、エラーなく分岐処理を監視します。

基本機能

switchステートメントは、1つの変数の値に応じて複数の処理を選択するために用いられます。条件に合致するcaseを見つけ、そこで指定された処理を実行することで、複雑な分岐処理をシンプルに表現するのが私の役割です。if-else文よりも、switchは複数条件において簡潔に、そして効率的に処理ができるのです。

柔軟な分岐処理

switchは特定の変数に対して、複数のcaseブロックを設けることで柔軟に条件分岐を設定できます。caseが一致すれば、その分岐処理を実行し、default節を用いることで、指定されていない条件が来た場合もエラーを避けるよう保護します。default節は、私にとって守備範囲を広げ、未知のケースをも守るための警戒です。

効率的な分岐による整理整頓

私の特徴として、if-else文に比べて、switchは読みやすく整理された分岐が実現できる点が挙げられます。caseごとに処理を分けることで、プログラムの可読性が向上し、エラーも抑えられるのです。また、stringやenumなども扱えるため、多様な場面で活躍します。

switch式による簡潔化

.NETには「switch式」という、さらに簡潔に分岐を記述できる形式も存在します。switch式は、従来のswitchステートメントよりもシンプルに結果を返すことができるため、複雑な計算や判定が必要ない場面では、この式を使うことでコードを短縮できます。

注意点

switchステートメントでは、case節で処理を終えたら「break」文を用いて分岐を終了させる必要があります。breakを忘れると、次のcaseにまで処理が流れてしまい、意図しない動作になる可能性があります。また、条件が多すぎる場合はコードが煩雑になりやすいため、switchの構造をシンプルに保つよう心がけることも重要です。

サンプルコード

C#
using System;

class SwitchSample
{
    public static void Main()
    {
        // 曜日を入力
        Console.WriteLine("曜日を入力してください(月, 火, 水...):");
        string day = Console.ReadLine();

        switch (day)
        {
            case "月":
                Console.WriteLine("月曜日です");
                break;
            case "火":
                Console.WriteLine("火曜日です");
                break;
            case "水":
                Console.WriteLine("水曜日です");
                break;
            case "木":
                Console.WriteLine("木曜日です");
                break;
            case "金":
                Console.WriteLine("金曜日です");
                break;
            default:
                Console.WriteLine("有効な曜日を入力してください");
                break;
        }
    }
}

解説

このコードでは、ユーザーから入力された曜日をswitchステートメントで判別し、該当する曜日のメッセージを表示します。switchを用いることで、複数の条件に応じた分岐処理を簡潔に表現できます。また、default節を用いることで、指定されていない曜日が入力された場合にも適切なメッセージを表示し、柔軟に対応しています。

このブログを検索

QooQ