C#中的Lambda表达式

什么是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表达式。邱奇的这一贡献为后来的函数式编程语言奠定了基础。

Leave a Reply

Your email address will not be published. Required fields are marked *