1. ホーム
  2. c#

[解決済み] 機能説明

2023-03-23 08:01:11

質問

私は、誰かが Func<int, string> が何であるか、そしてそれがどのように使用されるかを、いくつかの明確な例とともに説明していただけると幸いです。

どのように解決するのですか?

一般的なデリゲートについてご存知でしょうか?についてのページがあります。 デリゲートとイベント というページがあり、この2つの違いを説明するためのものですが、そうでなければ参考になるでしょう。

Func<T, TResult> は単なる一般的なデリゲートです。 型パラメータ ( TTResult ) に対応する 型引数 ( intstring ) を宣言に追加しました。混乱を避けるため、名前も変更しました。

string ExpandedFunc(int x)

言い換えると Func<int, string> を取る関数を表すデリゲートです。 int 引数を取り string .

Func<T, TResult> は、LINQでは投影と述語の両方でよく使われます(後者の場合。 TResult は常に bool ). 例えば Func<int, string> を使って、整数の列を文字列の列に投影することができます。 ラムダ式 は通常、LINQで関連するデリゲートを作成するために使用されます。

Func<int, string> projection = x => "Value=" + x;
int[] values = { 3, 7, 10 };
var strings = values.Select(projection);

foreach (string s in strings)
{
    Console.WriteLine(s);
}

結果

Value=3
Value=7
Value=10