Lambda表达式一个用来代替委托实例的未命名的方法
实际上,编译器通过一个私有方法来解析这个Lambda表达式,然后把表达式的代码移动到这个方法里
Lambda表达式的形式
(parameters) => expression-or-statement-block
(参数) => 表达式或语句块
Lambda运算符=>
其中如果只有一个参数并且类型可以推断的话,那么参数的小括号可以省略
匿名方法
delegate void ActCute();
ActCute del;
del = delegate(){}
Lambada表达式
del = delegate(){...};
lambada表达式
del = ()=>{...};
m => m * 2;
(m,n) => m * n;
比如我要加入一个无名的Lambda表达式
ActCute del = null;
Dog dog = new Dog("A");
Cat cat = new Cat("B");
del = dog.WagTail;
del += cat.WagTail;//使用+=继续添加猫的动作
del += () =>
{
Console.WriteLine("nothing");
};
多个Lambda表达式可以组成Lambda语句块。
根据主题不同,Lambda表达式可以分为表达式Lambda和语句Lambda。