Predicate Delegate
Predicate is the delegate like Func and Action delegates. It represents a method containing a set of criteria and checks whether the passed parameter meets those criteria. A predicate delegate methods must take one input parameter and return a Boolean - true or false.
The Predicate delegate is defined in the System namespace, as shown below:
Predicate signature:
public delegate bool Predicate<in T>(T obj);
Same as other delegate types, Predicate can also be used with any method, anonymous method, or lambda expression.
Example:
Predicate delegate
static bool IsUpperCase(string str)
{
return str.Equals(str.ToUpper());
}
static void Main(string[] args)
{
Predicate<string> isUpper = IsUpperCase;
bool result = isUpper("hello world!!");
Console.WriteLine(result);
}
Output: false
Predicate delegate with anonymous method
static void Main(string[] args)
{
Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper());};
bool result = isUpper("hello world!!");
}
Output: false
Predicate delegate with lambda expression
static void Main(string[] args)
{
Predicate<string> isUpper = s => s.Equals(s.ToUpper());
bool result = isUpper("hello world!!");
}
Output: false