【C#】if文・switch文による条件分岐の書き方

プログラムでは「条件によって処理を切り替える」ことが欠かせません。C# では代表的な条件分岐の構文として if 文と switch 文があります。if は柔軟な条件式に対応し、switch は複数の選択肢を整理して書きたいときに便利です。本記事ではそれぞれの書き方と使い分けを解説します。

if文の基本

if 文は「もし条件が true ならこの処理をする」という構文です。条件式は bool 値(true または false)に評価される式を記述します。

int score = 85;

if (score >= 80)
{
    Console.WriteLine("合格です");
}

if-else文で二択に分岐する

条件が満たされない場合に別の処理をしたいときは else を追加します。

int score = 65;

if (score >= 80)
{
    Console.WriteLine("合格です");
}
else
{
    Console.WriteLine("不合格です");
}

else ifで条件を追加する

三段階以上の条件分けをする場合は else if を使います。

int score = 75;

if (score >= 90)
{
    Console.WriteLine("優秀です");
}
else if (score >= 70)
{
    Console.WriteLine("合格です");
}
else
{
    Console.WriteLine("不合格です");
}

switch文の基本

switch 文は、値に応じて複数の選択肢から処理を分けたいときに使います。可読性が高く、整数や文字列の分岐に適しています。

string grade = "B";

switch (grade)
{
    case "A":
        Console.WriteLine("優秀です");
        break;
    case "B":
        Console.WriteLine("良いです");
        break;
    case "C":
        Console.WriteLine("合格です");
        break;
    default:
        Console.WriteLine("不合格です");
        break;
}

break を忘れると後続のケースに処理が流れるため、原則として各ケースの末尾に書きます。

複数のケースをまとめる

同じ処理を複数のケースで共有したいときは、case を並べます。

int day = 6;

switch (day)
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        Console.WriteLine("平日です");
        break;
    case 6:
    case 7:
        Console.WriteLine("週末です");
        break;
    default:
        Console.WriteLine("不正な値です");
        break;
}

switch式(C# 8.0以降)

C# 8.0 以降では switch を式として使える「switch式」が導入され、より簡潔に書けます。

string grade = "B";

string result = grade switch
{
    "A" => "優秀です",
    "B" => "良いです",
    "C" => "合格です",
    _   => "不合格です"
};

Console.WriteLine(result);

まとめ|ifとswitchの使い分け

if 文と switch 文はどちらも条件分岐を記述できますが、適した場面が異なります。

  • if文: 不等号や複雑な条件式に強い
  • switch文: 値ごとに処理を分ける場合に見やすく整理できる
  • switch式: 短くシンプルに結果を返したいときに便利

使い分けを意識すると、コードの読みやすさと保守性が大きく向上します。