什么是Lambda?
在C#中,一个Lambda表达式就是一个匿名函数。
Lambda的语法结构如下:
(Input Params) => Expression
• 中间的"=>" 是Lambda的操作符,一般读作"goes to"
• 左边的部分"Input Params"是Lambda表达式的输入参数,当且仅当只有一个参数的时候,括号可以忽略,其他情况哪怕参数个数是0个,也不能忽略.
• 右边的部分"Expression"是语句(Expression)或者代码块(Statement),当且仅当只有一行代码时,大括号可以忽略,其他情况均不可忽略,参考以下样例:
参考以下样例:
() => Console.WriteLine("No Params") // 0 个参数,左边的圆括号不能省略
x => x * x // 1个参数,左边的圆括号可加可不加
(x, y) => x - y // 2个参数,左边的圆括号不能省略
(x, y) => { x += y; Console.WriteLine(x); } // 大括号不能省略
阿隆佐·邱奇(Alonzo Church),美国数学家和逻辑学家,对计算机科学领域做出了重要贡献。邱奇在20世纪30年代提出了lambda演算,这是一种形式化的计算理论,用于研究函数的定义、应用和等价性。他在提出lambda演算时,定义了一种匿名函数的表达方式,即lambda表达式。这种表达方式允许函数没有名字,直接通过参数和表达式来描述,因此得名lambda表达式。邱奇的这一贡献为后来的函数式编程语言奠定了基础。