English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Délégué Predicate en C#

Predicate est comme Func et Action, représentant des délégués. Il représente une méthode définissant un ensemble de conditions et déterminant si un objet spécifique correspond à ces conditions. Ce délégué est utilisé par plusieurs méthodes de Array et List pour rechercher des éléments dans un ensemble. Les méthodes du délégué Predicate doivent prendre un paramètre d'entrée et retourner une valeur booléenne true ou false.

Définition du délégué Predicate

Le délégué Predicate est défini dans l'espace de noms System, comme indiqué ci-dessous :

Signature du Predicate :

public delegate bool Predicate<in T>(T obj);

Comme pour d'autres types de délégués, le délégué Predicate peut être utilisé avec n'importe quelle méthode, méthode anonyme ou expression 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);
}
Sortie :
false

Predicate et Méthode Anonyme

Il est également possible d'affecter une méthode anonyme au type Predicate, comme indiqué ci-dessous.

static void Main(string[] args)
{
    Predicate<string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); };
    bool result = isUpper("hello world!!");
}

Predicate et Expression Lambda

Il est également possible d'affecter une expression lambda au type Predicate, comme indiqué ci-dessous.

static void Main(string[] args)
{
    Predicate<string> isUpper = s => s.Equals(s.ToUpper());
    bool result = isUpper("hello world!!");
}

Instructions pour l'utilisation du délégué Predicate

  • Le délégué Predicate est un délégué générique qui retourne bool

  • Le délégué Predicate<int> représente un délégué qui prend un paramètre int et retourne bool

  • Le délégué Predicate a un seul paramètre et un retour de valeur fixe booléen

Points à retenir

  1. Les délégués predicate prennent un paramètre d'entrée et un type de retour booléen.

  2. Les méthodes anonymes et les expressions Lambda peuvent être assignées aux délégués predicate.