カテゴリ: C# 更新日: 2025/12/23

C#のラムダ式で条件分岐を行う方法を完全ガイド!初心者でもわかる書き方と考え方

C#のラムダ式で条件分岐を行う方法を例示
C#のラムダ式で条件分岐を行う方法を例示

先生と生徒の会話形式で理解しよう

生徒

「C#のラムダ式って、短く書けるって聞いたんですけど、条件分岐もできるんですか?」

先生

「できますよ。if文と同じように、条件によって処理を変えることができます。」

生徒

「プログラミング未経験でも理解できますか?」

先生

「大丈夫です。まずは身近な例えから、ゆっくり説明していきましょう。」

1. ラムダ式とは何かをやさしく理解しよう

1. ラムダ式とは何かをやさしく理解しよう
1. ラムダ式とは何かをやさしく理解しよう

C#のラムダ式とは、「短い書き方で処理の内容を表現する方法」です。 難しく聞こえますが、イメージとしてはその場で使う小さな処理のメモのようなものです。 普通のメソッドは名前を付けて定義しますが、ラムダ式は名前を付けずに直接使えます。

たとえば、「数字を受け取って、結果を返す」という処理を、とても短く書けるのが特徴です。 この仕組みを使うと、条件分岐もシンプルに表現できるようになります。

2. 条件分岐とは?まずは考え方から

2. 条件分岐とは?まずは考え方から
2. 条件分岐とは?まずは考え方から

条件分岐とは、「もし○○だったらAをする。そうでなければBをする」という考え方です。 日常生活で言うと、「雨が降っていたら傘を持つ。降っていなければ持たない」という判断と同じです。

C#では通常、if文を使って条件分岐を書きますが、 ラムダ式の中でも同じ考え方で条件を扱うことができます。

3. ラムダ式でシンプルな条件分岐を書く方法

3. ラムダ式でシンプルな条件分岐を書く方法
3. ラムダ式でシンプルな条件分岐を書く方法

ラムダ式で条件分岐を行うときによく使われるのが、三項演算子です。 三項演算子とは、「条件 ? 真のとき : 偽のとき」という形で書く条件分岐の書き方です。


Func<int, string> checkNumber = x => x >= 0 ? "正の数または0です" : "負の数です";
Console.WriteLine(checkNumber(10));
Console.WriteLine(checkNumber(-5));

正の数または0です
負の数です

この例では、「数字が0以上かどうか」を条件にしています。 x >= 0 が条件で、条件が正しければ左の文字列、違えば右の文字列が使われます。

4. if文をラムダ式の中で使う方法

4. if文をラムダ式の中で使う方法
4. if文をラムダ式の中で使う方法

ラムダ式は短く書くことが多いですが、処理が少し長くなる場合は、 ブロック構文を使って、if文を書くこともできます。


Func<int, string> judgeScore = score =>
{
    if (score >= 80)
    {
        return "とても良い点数です";
    }
    else
    {
        return "まだ伸びしろがあります";
    }
};

Console.WriteLine(judgeScore(90));
Console.WriteLine(judgeScore(60));

とても良い点数です
まだ伸びしろがあります

このように、ラムダ式の中でも普通のif文と同じ感覚で条件分岐ができます。 「return」は「結果を返す」という意味で、ラムダ式の処理結果になります。

5. 身近な例で考えるラムダ式の条件分岐

5. 身近な例で考えるラムダ式の条件分岐
5. 身近な例で考えるラムダ式の条件分岐

プログラミング未経験の方は、「難しい計算」よりも「身近な判断」を例にすると理解しやすくなります。 たとえば、「年齢によって大人か子どもかを判断する」処理もラムダ式で書けます。


Func<int, string> checkAge = age => age >= 20 ? "大人です" : "未成年です";
Console.WriteLine(checkAge(25));
Console.WriteLine(checkAge(15));

大人です
未成年です

このように考えると、ラムダ式の条件分岐は「判断をそのままコードにしたもの」だと分かります。

6. ラムダ式で条件分岐を使うメリット

6. ラムダ式で条件分岐を使うメリット
6. ラムダ式で条件分岐を使うメリット

ラムダ式で条件分岐を書く最大のメリットは、コードが短く読みやすくなることです。 特に小さな判断処理では、メソッドを作らずにその場で書けるため、 プログラム全体の流れを追いやすくなります。

C#のラムダ式と条件分岐を組み合わせることで、 「何を判断しているコードなのか」が一目で分かるようになります。

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方