Lambda 表达式是一种可用于创建委托或表达式目录树的匿名函数

Lambda图解

071029218154227.png

Lambda用法

  1. () => {表达式/方法体};//空参数
  2. x => x*2; //一个参数,表达式为一句,x为参数,返回x*2
  3. (x,y,z) => x+y+z; //多个参数
  4. (int x,string y) = x+y; //显式声明参数类型

lambda结合委托使用

  1. namespace ConsoleApp2
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. Dele dele = () => { Console.WriteLine("没有参数的委托"); };
  8. Dele2 dele2 = p1 => Console.WriteLine("一个参数p1可以不加(),方法体一句话可以不加{}");
  9. Dele3 dele3 = (p1, p2, p3) => Console.WriteLine("多个参数");
  10. dele();
  11. dele2("");
  12. dele3("", 11, 22.2);
  13. //=>后面的表达式直接返回,简略了return
  14. Func<int, int> func = x => x * 3;
  15. int i = func(10);
  16. Console.WriteLine(i);//30
  17. }
  18. }
  19. delegate void Dele();//无参数的委托
  20. delegate void Dele2(string a);//有一个参数的委托
  21. delegate void Dele3(string a, int b, double c);//多个参数的委托
  22. }