月ノ書

C#の条件分岐を徹底解説|if・else・switchの使い方と考え方

この記事でわかること
  • 条件分岐を書くときの読みやすさのポイントがつかめる
  • C#における条件分岐の考え方がわかる
  • if / else 文の基本から応用まで理解できる
  • switch 文の使いどころと書き方がわかる

条件分岐とは何か

条件分岐とは、条件によって処理の流れを変えることです

たとえば

といった判断をプログラムにさせたいときに使います

C#では、条件分岐の中心となるのが

この2つです

条件には、前回の記事で出てきた「比較演算子」や「論理演算子」を使います

if 文の基本

一番よく使われる条件分岐が if 文です

if (条件)
{
    実行したい処理
}

条件の部分には、必ず true または false になる式を書きます

int age = 20;

if (age >= 18)
{
    Console.WriteLine("成人です");
}

この場合、age >= 18 が true なら中の処理が実行されます

else を使った分岐

条件に当てはまらなかった場合の処理を書きたいときは、else を使います

int age = 15;

if (age >= 18)
{
    Console.WriteLine("成人です");
}
else
{
    Console.WriteLine("未成年です");
}

if と else はセットで考えるとわかりやすく
「そうならこう、違えばこう」という考え方になります

else if で条件を増やす

条件が2つ以上ある場合は else if を使います

int score = 75;

if (score >= 90)
{
    Console.WriteLine("とても良い");
}
else if (score >= 70)
{
    Console.WriteLine("良い");
}
else
{
    Console.WriteLine("もう少し");
}

上から順番に条件が評価され、最初に true になったものだけが実行されます
そのため、条件の順番はとても重要です

条件式を書くときのポイント

条件式は、できるだけ 読みやすく 書くのが大切です

if (age >= 18 && hasTicket)
{
    // 入場できる
}

このように

することで、あとから見返したときにも意味がすぐに伝わります

無理に1行に詰め込まず、必要なら分けて考えるのもおすすめです

switch 文の基本

条件が「値による分岐」の場合は、switch 文が向いています

int day = 1;

switch (day)
{
    case 1:
        Console.WriteLine("月曜日");
        break;
    case 2:
        Console.WriteLine("火曜日");
        break;
    default:
        Console.WriteLine("その他");
        break;
}

switch は

が一致したときに処理を実行します

break を忘れると次の case まで実行されてしまうので注意が必要です

switch を使うメリット

switch 文は

に特に効果を発揮します

if (day == 1) { ... }
else if (day == 2) { ... }
else if (day == 3) { ... }

このようなコードは、switch にすると一気に読みやすくなります

if と switch の使い分け

ざっくりとした目安は次の通りです

どちらが正解というわけではなく
「読みやすいかどうか」を基準に選ぶのが大切です

まとめ

条件分岐を理解すると、プログラムが「考えて動いている」感覚が一気に強くなります
このあとループ処理やコレクションと組み合わせると、さらにC#らしいコードになっていくよ

学習進捗