English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Predicate ist wie Func und Action, die Delegation darstellen. Es stellt eine Methode dar, die eine Gruppe von Bedingungen definiert und bestimmt, ob ein bestimmtes Objekt diesen Bedingungen entspricht. Dieser Delegat wird von einigen Methoden der Array- und List-Klassen verwendet, um Elemente in Sammlungen zu suchen. Die Predicate-Delegat-Methode muss einen Eingangsparameter akzeptieren und einen Boolean-Wert true oder false zurückgeben.
Der Predicate-Delegat ist im Namespace System definiert, wie folgt:
Predicate-Signatur:
public delegate bool Predicate<in T>(T obj);
Wie andere Delegat-Typen können Predicate-Delegate auch mit jedem Methoden, anonymen Methoden oder Lambda-Ausdrücken verwendet werden.
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
Anonyme Methoden können auch zugewiesen werden, wie im Folgenden gezeigt.
static void Main(string[] args) { Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); }; bool result = isUpper("hello world!!"); }
Lambda-Ausdrücke können auch zugewiesen werden, wie im Folgenden gezeigt.
static void Main(string[] args) { Predicate<string> isUpper = s => s.Equals(s.ToUpper()); bool result = isUpper("hello world!!"); }
Predicate-Delegat ist ein generischer Delegat, der bool-Werte zurückgibt
Predicate<int> Delegat bedeutet, dass der übergebene Parameter ein int ist und ein bool-Wert zurückgibt
Predicate-Delegat haben genau einen Parameter und geben immer einen bool-Wert zurück
Die predicate-Delegat nehmen einen Eingangsparameter und einen bool-Wert zurück.
Man kann anonyme Methoden und Lambda-Ausdrücke einer predicate-Delegat zuweisen.