-2

ラムダ式を使用することの重要性とは何ですか。

C#のように、値を割り当てるために3〜4行かかる可能性のあるforeachループがあります

ランバを使う

List.foreach(x=>x.something = new value) 

ラムダとC#でのラムダのより高度な使用法についてもっと知りたいです

4

1 に答える 1

3

ラムダ式は、メソッドの簡単な構文ではありません。

次のラムダ式を取ります。

p => p.FullName

これは次と同等です。

string getFullName(Person p)
{
    return p.FullName;
}

その使用法により、無名関数を作成できます。したがって、デリゲートを使用するメソッドは次のように定義されます。

public delegate string FullNameDelegate(Person p);
public void DoSomething(FullNameDelegate getter)
{
   Person p = new Person();
   string fullname = getter(p);
}
public string GetFullName(Person p)
{
    return p.FullName;
}

DoSomething(new FullNameDelegate(GetFullName));

同等のラムダは次のようになります。

public void DoSomething(Func<Person, string> getter)
{
   Person p = new Person();
   string fullname = getter(p);
}

DoSomething(p => p.FullName);
于 2012-07-29T12:49:15.073 に答える