lambda表达式:是能返回一个方法的表达式,由参数列表和方法体组成.
this.LoginSuccessEvent+=((string userName)=>{Console.WriteLine(userName);});
匿名方法:委托提供一种机制,可以为委托定义匿名方法,匿名方法没有名称,编译器会定指定一个名称。
static void Main(string[] args)
{
string str1 = " 匿名方法外部 ";
//中括号部分定义来了一个方法,没有名称,编译器会定指定一个名称
MyDelagate my = delegate(string param)
{
string str2 = " 匿名方法内部 ";
return param + str1 + str2;
};
//调用委托的匿名方法
Console.WriteLine(my(" 参数 "));
//从结果可以看到,匿名方法同样达到了为委托定义方法的效果
Console.Read();
}
总结:lambda表达式的语法比匿名方法更简洁,尽量使用lambda表达式。