Они фактически одинаковы.Predicate<T>
- это тип делегата, который был добавлен в библиотеку базовых классов для методов списка и массива Find () .Это было до LINQ, когда была представлена более общая семья делегатов Func
.Вы даже можете написать свой собственный тип делегата и использовать его:
delegate bool IntPredicate(int x);
static void Main()
{
IntPredicate isEven = delegate(int x) {return x % 2 == 0;};
Console.WriteLine(isEven(1) + "\r\r");
}