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

时间:2012-07-02 00:47:50

标签: c# .net lambda predicate

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

2 个答案:

答案 0 :(得分:15)

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

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

在功能上等同于:

Func<int,bool> isEven = x => x % 2 == 0;

答案 1 :(得分:4)

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

Predicate

Lambda expression