Predicate<T>
是 C# 中的一个委托,它表示定义一组条件并确定指定对象是否符合这些条件的方法。Predicate<T>
委托总是返回一个布尔值,表示对象是否符合这些条件。
public delegate bool Predicate<in T>(T obj);
类型参数
T:要比较的对象的类型,这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。
参数
obj T :要按照由此委托表示的方法中定义的条件进行比较的对象。
返回值
Boolean:如果 obj
符合由此委托表示的方法中定义的条件,则为 true
;否则为 false
。
Predicate<T>
通常用于以下场景:
- 筛选集合中的元素(例如,使用
List<T>.Find
、List<T>.FindAll
方法)。 - 条件匹配的回调方法。
示例:
static void Main(string[] args)
{
List<int> numbers = new List<int>() { 1,2,3,4,5,6,7,8,9,10};
Predicate<int> isEven = number => number % 2 == 0;
List<int> evenNumbers = numbers.FindAll(isEven);
Console.WriteLine("Even Number:");
foreach (int i in evenNumbers)
{
Console.WriteLine(i);//打印:2,4,6,8,10
}
Console.ReadLine();
}