English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Predicate è come Func e Action rappresentano, è un delegate che rappresenta un metodo che definisce un insieme di condizioni e determina se un oggetto specifico soddisfa queste condizioni. Questo delegate è utilizzato da vari metodi delle classi Array e List per cercare elementi in una raccolta. Il metodo del delegate Predicate deve accettare un parametro di input e restituire un valore booleano true o false.
Il delegate Predicate è definito nel namespace System come segue:
Sintassi del Predicate:
public delegate bool Predicate<in T>(T obj);
Come altri tipi di delegati, il delegate Predicate può essere utilizzato con qualsiasi metodo, metodo anonimo o espressione 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
Anche i metodi anonimi possono essere assegnati al tipo Predicate come segue.
static void Main(string[] args) { Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); }; bool result = isUpper("hello world!!"); }
Le espressioni lambda possono anche essere assegnate al tipo Predicate come segue.
static void Main(string[] args) { Predicate<string> isUpper = s => s.Equals(s.ToUpper()); bool result = isUpper("hello world!!"); }
Il delegato Predicate è un delegato generico che restituisce bool
Il delegato Predicate<int> indica che il parametro è int e il valore di ritorno è bool
Il delegato Predicate ha un solo parametro e il valore di ritorno è sempre bool
Il delegato predicate accetta un parametro di input e un tipo di ritorno booleano.
Si può assegnare un metodo anonimo e un'espressione Lambda a un delegato predicate.