Funcは、戻り値を持つメソッドを参照するために使用されます。つまり、引数を受け取り、戻り値を返すメソッドを指定することができます。Funcデリゲートは、最大で16個の引数を受け取ることができます。以下に、Funcの使用例を示します。
// int型の引数を受け取り、int型の戻り値を返すメソッドを指定するFuncデリゲート
Func<int, int> square = x => x * x;
int result = square(5); // 25
Actionは、戻り値を持たないメソッドを参照するために使用されます。つまり、引数を受け取り、何も返さないメソッドを指定することができます。Actionデリゲートも最大で16個の引数を受け取ることができます。以下に、Actionの使用例を示します。
// string型の引数を受け取り、何も返さないメソッドを指定するActionデリゲート
Action<string> printMessage = message => Console.WriteLine(message);
printMessage("Hello, World!"); // "Hello, World!"と出力される
FuncとActionは、異なる目的に使用されるため、適切なシナリオで使用することが重要です。Funcは戻り値を必要とする場合に使用し、Actionは戻り値が不要な場合に使用します。
この記事では、C#のFuncとActionデリゲートの違いと使い方について説明しました。これにより、読者はこれらのデリゲートを適切に活用することができるでしょう。