C#でfuncを使用する方法は何ですか?
C#では、Funcは特定のパラメーターと戻り値を持つメソッドを表すために使用されるジェネリックデリゲート型です。Funcデリゲートを使用する際は、パラメーターの型と戻り値の型を指定する必要があります。
Funcの定義は以下のとおりです:
public delegate TResult Func<in T, out TResult>(T arg);
public delegate TResult Func<in T1, in T2, out TResult>(T1 arg1, T2 arg2);
// ...
Funcデリゲートは最大で16個のパラメータを持つことができます。最初のジェネリック引数はメソッドのパラメータのタイプを示し、最後のジェネリック引数はメソッドの戻り値のタイプを示します。
Funcデリゲートを使用する手順は以下の通りです。
- Funcデリゲートのパラメータと戻り値の型と一致するように、メソッドを定義します。
- メソッドの名前を指定して、Funcデリゲートのインスタンスを作成します。
- メソッドを実行するために、FuncデリゲートインスタンスのInvokeメソッドを呼び出します。
以下は、Funcデリゲートを使用した例です。
// 定义一个方法,接受一个整数参数并返回字符串
static string ConvertToString(int number)
{
return number.ToString();
}
// 使用Func委托
Func<int, string> convertFunc = ConvertToString; // 创建Func委托实例
string result = convertFunc.Invoke(123); // 调用委托的Invoke方法执行方法
Console.WriteLine(result); // 输出:123
上記の例では、整数のパラメータを受け取り文字列を返すConvertToStringメソッドが定義されています。その後、ConvertToStringメソッドを指定するFunc委任インスタンスconvertFuncを作成します。最後に、デリゲートのInvokeメソッドを呼び出してメソッドを実行し、結果をコンソールに出力します。