谁能给我解释一下 lambda 表达式及其用途。我已经用谷歌搜索并有了一个大概的想法。大多数示例都提供了 C# 代码。简单的旧 C 中的 lambda 表达式如何...?
最佳答案
实际上有两种叫做“lambda 表达式”的东西,它们之间的关系相当松散:
Lambda 表达式是 lambda calculus 的基础部分与函数式编程密切相关
在命令式语言中,lambda 表达式通常是匿名方法的同义词。例如,在 C# 中,您可以将 lambda 表达式(即表达式本身,而不仅仅是其结果)作为参数传递:
C#:
someCollection.Apply (x => 2*x); // apply expression to every object in collection
// equivalent to
someCollection.Apply (delegate (int x) { return 2 * X; });
话虽如此,C不支持匿名方法。但是,您可以使用函数指针来获得类似的结果:
int multiply (int x)
{
return 2 * x;
}
...
collection_apply (some_collection, multiply);
关于c - lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694756/