Lambda表达式

来源:互联网 发布:反射 java 编辑:程序博客网 时间:2024/04/26 13:38

一、简介

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); 
0 0
原创粉丝点击