1

ラムダ式は、.NETを初めて使用する人にとって一般的な障害のようです。初心者に説明するための優れたリソースを持っている人はいますか?

4

1 に答える 1

1

ラムダは、次のような単純な匿名メソッドです。

delegate(string parm1, int parm2)
{
    // ...
}

ラムダの最初の部分はメソッドパラメーター用です。パラメーターがない場合、または複数のパラメーターがある場合は、括弧が必要です。

// no parameters
() => null

// one parameter
x => null

// multiple parameters
(x, y, z) => null

上記の匿名メソッドに対応するラムダは次のように記述されます。

(string parm1, int parm2) => ...

ラムダの使用方法によっては、コンパイラーは実際にパラメーターのタイプと戻り値を推測できるため、必ずしも必要なわけではありません。

ラムダの最後の部分はメソッド本体用です。

delegate(string parm1, int parm2)
{
    return string.Format("{0}{1}", parm1, parm2);
}

と同じです

(parm1, parm2) =>
{
    return string.Format("{0}{1}", parm1, parm2);
}

メソッドの本体が1行の場合、ラムダにはreturnキーワードも、中括弧も必要ありません。

(parm1, parm2) => string.Format("{0}{1}", parm1, parm2);

以上が基本です。これがお役に立てば幸いです。

于 2012-08-03T21:13:56.720 に答える