一、简介
Lambda表达式来源于数学家Alonzo Church等人在1920~1930期间发明的Lambad积分。Lambda积分是用于表示函数的一套系统,它使用希腊字母Lambda( λ )来表示无名函数。
C# 3.0引入了Lambda表达式,它是一种简化的匿名函数,可用于创建委托或表达式目录树。你也可以将 Lambda 表达式作为参数进行传递,或者将它作用于函数调用值调用后返回的一个函数来使用。
二、基础
它的语法形式是: 输入参数 => 表达式或语句块 即运算符的左边是输入参数(如果有),右边是表达式或语句块。 ( “ => ” 读作 “ goes to ” )
2.1 表达式Lambda
表达式位于 => 运算符右侧的 lambda 表达式称为“表达式 lambda”。 表达式 Lambda 会返回表达式的结果,并采用以下基本形式:
(input parameters) => expression
delegate int myDel(int x,int y); //声明委托
class Program
{
static void Main(string[] args)
{
myDel del = (x,y) => x+y; //返回x+y的结果
Console.WriteLine("values {0}",del(5,8)); //输出13
Console.ReadKey();
}
}
2.2 语句Lambda
当lambda表达式中,有多个语句时,写成如下形式:
(input parameters) => { statement; }
delegate int myDel(string str);
class Program
{
static void Main(string[] args)
{
myDel del = (str) =>
{
Console.WriteLine("hello {0}",str);
return 123;
};
Console.WriteLine("values {0}",del("world"));
Console.ReadKey();
}
}