English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Predicate es como Func y Action representan delegados. Representa un método que define un conjunto de condiciones y determina si un objeto específico cumple con estas condiciones. Este delegado se utiliza por varios métodos de Array y List, para buscar elementos en una colección. El método del delegado Predicate debe tomar un parámetro de entrada y devolver un valor booleano true o false.
El delegado Predicate se define en el espacio de nombres System, como se muestra a continuación:
Firma de Predicate:
public delegate bool Predicate<in T>(T obj);
Al igual que otros tipos de delegados, el delegado Predicate también se puede usar con cualquier método, método anónimo o expresión lambda.
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); }
false
También se puede asignar un método anónimo a un tipo de delegado Predicate, como se muestra a continuación.
static void Main(string[] args) { Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); }; bool result = isUpper("hello world!!"); }
También se puede asignar una expresión lambda a un tipo de delegado Predicate, como se muestra a continuación.
static void Main(string[] args) { Predicate<string> isUpper = s => s.Equals(s.ToUpper()); bool result = isUpper("hello world!!"); }
El delegado Predicate es un delegado genérico que devuelve bool
El delegado Predicate<int> representa un delegado que toma un parámetro de tipo int y devuelve bool
El delegado Predicate tiene un solo parámetro y un valor de retorno fijo bool
El delegado predicate toma un parámetro de entrada y un tipo de retorno booleano.
Se puede asignar un método anónimo y una expresión Lambda a un delegado predicate.