重要な C# トピック

C#のデリゲートとラムダ式

このレッスンでは、デリゲートFuncとラムダ式を使って、関数を別のメソッドに引数として渡します。

はじめに

デリゲート(delegate)はメソッドを表す型で、振る舞いを値のように渡せます。ラムダ式は、(a, b) => a * bのように、関数をその場で短く書く方法です。この2つを組み合わせると、処理の方法を外から受け取る柔軟なメソッドを書けます。

型Func<int, int, int>は、整数を2つ受け取って整数を返す関数を表します。Applyメソッドは具体的な計算を前もって知らず、operation(left, right)を呼ぶだけです。ラムダ(left, right) => left * rightを渡すと、Applyは掛け算を行って42を返します。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;

class Program
{
    static int Apply(int left, int right, Func<int, int, int> operation)
        => operation(left, right);

    static void Main()
    {
        int result = Apply(6, 7, (left, right) => left * right);
        Console.WriteLine(result);
    }
}
実行結果
42

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ