C#-Lambda表达式

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。

你可能感兴趣的:(c#,开发语言,后端)