一、简介
1.Lambda表达式可以应用于任何匿名方法或者强类型委托可以应用的场合,可以将他看着是一种方法的简写形式(这样说并不准确,但可以这么理解);
2.Lambda表达式的符号标记是“=>”,在“=>”左侧的是参数列表,右侧的是处理这些参数的语句;
3.Lambda表达式的参数列表可以有0个参数、1个参数或多个参数,多个参数之间用逗号隔开,参数列表中的参数可以是隐式类型的,也可以是显式类型的,一般情况下我们都默认是隐式类型的,因为编译器可以根据上下文推断出该参数的类型;
4.当参数是隐式类型并且只有一个参数时,参数列表可以不用小括号,其他情况下均需要用小括号将参数列表括起来,0个参数时可以这样表示“()=>1”;
5.Lambda表达式的语句块可以包含一条语句或者多条语句,当包含多条语句时需要使用花括号;
二、实例
1.简单的Lambda表达式用法
//Lambda表达式是一个函数,所以可以将他直接赋给委托
Func<int, int, int> funcAdd = (x, y) => x * y;
Console.WriteLine("结果为:" + funcAdd(4, 5));
//Lambda表达式中无参数
Func<int> result=()=> 1;
int i = result();
//Lambda表达式中有一个显式类型的参数
Predicate<int> myPredicate = (int o) => o > 10;
//Lambda表达式中有一个隐式类型的参数,这时参数列表可以不用小括号
Predicate<int> predicate = o => o > 10;
List<int> list=new List<int>();
list.Add(9);
list.Add(20);
List<int> newList = list.FindAll(myPredicate);