Bootstrap

Predicate<T> 委托

Predicate<T> 是 C# 中的一个委托,它表示定义一组条件并确定指定对象是否符合这些条件的方法。Predicate<T> 委托总是返回一个布尔值,表示对象是否符合这些条件。

public delegate bool Predicate<in T>(T obj);

 类型参数

T:要比较的对象的类型,这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。

参数

obj T :要按照由此委托表示的方法中定义的条件进行比较的对象。

 返回值

Boolean:如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false。 

Predicate<T> 通常用于以下场景:

  • 筛选集合中的元素(例如,使用 List<T>.FindList<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();
 }

 

;