English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Predicate é como Func e Action representam, uma delegação que define um conjunto de condições e determina se um objeto específico atende a essas condições. Este delegate é usado por vários métodos das classes Array e List, para procurar elementos em conjuntos. O método do delegate Predicate deve aceitar um parâmetro de entrada e retornar um valor booleano true ou false.
O delegate Predicate está definido no espaço de nomes System, conforme mostrado a seguir:
Assinatura do Predicate:
public delegate bool Predicate<in T>(T obj);
Como outros tipos de delegados, o Predicate pode ser usado com qualquer método, método anônimo ou expressão 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
Também pode atribuir um método anônimo ao tipo Predicate, conforme mostrado a seguir.
static void Main(string[] args) { Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); }; bool result = isUpper("hello world!!"); }
Também pode atribuir uma expressão lambda ao tipo Predicate, conforme mostrado a seguir.
static void Main(string[] args) { Predicate<string> isUpper = s => s.Equals(s.ToUpper()); bool result = isUpper("hello world!!"); }
O delegado Predicate é um delegado genérico que retorna um valor booleano
O delegado Predicate<int> representa um delegado que aceita um parâmetro int e retorna um valor booleano
O delegado Predicate tem apenas um parâmetro e retorna um valor booleano fixo
O delegado predicate aceita um parâmetro de entrada e retorna um valor booleano.
Pode-se atribuir métodos anônimos e expressões lambda ao delegado predicate.