16

.NET 中的 lambda 表达式和谓词有什么区别?

4

2 回答 2

15

谓词是返回布尔值的委托(函数对象)。Lambda 表达式可用于定义任何匿名函数,包括谓词,例如以 Lambda 表达式的形式表达谓词:

Predicate<int> isEven2 = x => x % 2 == 0;

这在功能上等同于:

Func<int,bool> isEven = x => x % 2 == 0;
于 2012-07-02T00:50:38.607 回答
4

Predicate 定义了一组标准,而 lambda 表达式是一个匿名函数。您可以使用 lambda ex。作为谓词,但这并不意味着它们是同一回事。

谓词

Lambda 表达式

于 2012-07-02T00:51:03.983 回答