C#委托之泛型委托Predicate

此委托定义如下:

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

下面举例说明此委托的用法,比如我们想从一个List<int>中取出大于50的第一个元素或者所有元素

 

public static bool IsGreater(int i)

{

     return i > 50;

}



var lstInt = new List<int> { 50, 80, 90 };

Predicate<int> pred = IsGreater;

 var i = lstInt.Find(pred);

Console.WriteLine("大于50的第一个元素为{0}", i);   // 80

var lstAll = lstInt.FindAll(pred);

foreach (var item in lstAll)

{

     Console.WriteLine("大于50的元素为:{0}", item);  // 80,90

}

 

 

 

你可能感兴趣的:(cat)