使用lambda表达式的意义是什么。
就像在C#中那样,foreach循环可能需要3-4行来分配值
使用lamba
List.foreach(x=>x.something = new value)
我想了解更多有关lambda及其在C#
中的更多先进用法答案 0 :(得分:3)
lambda表达式不再是方法的简写语法。
采用以下lambda表达式:
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));
lambda等价物是:
public void DoSomething(Func<Person, string> getter)
{
Person p = new Person();
string fullname = getter(p);
}
DoSomething(p => p.FullName);