C#の条件式とは?

C#の条件式(条件分岐)は、「もし○○なら~する」「それ以外なら~する」というように、プログラムの流れを分けるために使う構文です。
代表的な方法は次のとおりです。

  1. if / else if / else
  2. switch / case
  3. 三項演算子(条件演算子) ?:

1. if / else if / else 文

1.1 基本の形

if (条件式)
{
    // 条件式が true (真) のとき実行されるブロック
}
else
{
    // 条件式が false (偽) のとき実行されるブロック
}

ポイント:

  • (条件式)true または false を返す式(例: x > 0, score >= 60 など)。
  • if で記述した「条件」が true の場合のみ、 { } 内のコードを実行します。
  • それ以外(false)の場合は、 else ブロックを実行します。

1.2 else if の追加

if だけだと足りない場合は、else if を追加することで、複数の条件を順番にチェックできます。

if (条件式A)
{
    // 条件式Aが true のとき
}
else if (条件式B)
{
    // Aが false だが条件式Bが true のとき
}
else
{
    // A、Bがどちらも false のとき
}

サンプルコード

int score = 75;

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

上の例では、score の値に応じて表示するメッセージが変わります。


2. switch / case 文

複数の条件を使って分岐するとき、if / else if が長くなりすぎる場合に switch / case を使うと 見やすく・整理しやすく なることがあります。

2.1 基本の形

switch (式)
{
    case 値1:
        // 式が 値1 のときに実行する処理
        break;
    case 値2:
        // 式が 値2 のときに実行する処理
        break;
    default:
        // どの case にも当てはまらない場合
        break;
}
  • switch (式) には整数型や文字列などを指定できます。
  • case 値: の部分には、「その値のときの処理」を書きます。
  • どの case にも当てはまらないときは、default: の処理が実行されます。

サンプルコード

int dayOfWeek = 3;

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

dayOfWeek が 1 なら「月曜日」、2 なら「火曜日」、3 なら「水曜日」を表示し、それ以外は「その他の曜日」と表示します。


3. 三項演算子(条件演算子) ?:

if / else のように分岐を行いながら、1つの値を選んで変数に代入したい、あるいはメッセージを1行で決めたいときに便利です。

3.1 基本の形

変数 = (条件式) ? 値A : 値B;
  • (条件式)true の場合値A が返される
  • (条件式)false の場合値B が返される

サンプルコード

int score = 80;
string message = (score >= 60) ? "合格" : "不合格";
Console.WriteLine(message);

score >= 60 かどうかで message に格納する文字列を変えています。


4. 比較演算子と注意点

条件式の中では、さまざまな比較演算子が使われます。代表的なものは次のとおりです。

  • == : 左右が 等しい かどうか
  • != : 左右が 等しくない かどうか
  • > : 左が右よりも 大きい
  • < : 左が右よりも 小さい
  • >= : 左が右以上か
  • <= : 左が右以下か

注意点①: 代入演算子 = と比較演算子 == の違い

  • = は「代入」です。
  • == は「左右が等しいかどうかを比較」します。
int a = 10; // a に 10 を代入
bool isTen = (a == 10); // a が 10 と等しいかどうかを比較

注意点②: AND / OR 条件

  • && (AND): 両方が true のときだけ true
  • || (OR) : どちらかが true のとき true
// 例: a > 0 AND b > 0
if (a > 0 && b > 0)
{
    // a と b が両方 0 より大きいときのみ実行
}

まとめ

  • if / else if / else:最も基本的な条件分岐。状況に応じて複数の条件チェックができる。
  • switch / case:条件が複数あり、定数や特定の値に応じて処理を分けたいときに便利。
  • 三項演算子 ?::短い条件分岐で、値を返して変数に代入したりメッセージを決定したりするときに便利。
  • 比較演算子==, !=, >, < などを使って、変数の値や式の結果をチェックする。
  • 演算子の使い分けに注意=== は似て非なるもの。

次に学ぶとよいこと

  • パターンマッチング(C# 7 以降): 型や値のパターンで分岐できる機能。
  • 式やメソッドを使ったさらに複雑な条件: 例)if (IsValidUser(user) && user.Age >= 18) ...
  • エラー処理(例外処理): try / catch で想定外のエラーに対応する仕組み。

ここまでで紹介した基本的な条件式をマスターすると、プログラムの流れを自在にコントロールできるようになります。まずは小さなサンプルを書きながら、動きを確認してみましょう。

C#,初学者,条件式

Posted by hidepon