Délégués génériques Action Func Predicate
Contexte : Le framework .NET fournit des délégués génériques pour les signatures courantes, évitant ainsi de déclarer des délégués personnalisés.
Délégués Action
Section intitulée « Délégués Action »Pour les méthodes qui retournent void. Jusqu’à 16 paramètres.
Action print = () => Console.WriteLine("Hello");Action<string> log = (msg) => Console.WriteLine(msg);Action<int, int> addAndPrint = (a, b) => Console.WriteLine(a + b);Délégués Func
Section intitulée « Délégués Func »Pour les méthodes qui retournent une valeur. Le dernier paramètre de type est le type de retour.
Func<int> getNumber = () => 42;Func<string, int> getLength = (s) => s.Length;Func<int, int, int> add = (a, b) => a + b;Délégué Predicate<T>
Section intitulée « Délégué Predicate<T> »Retourne bool. Équivalent à Func<T, bool>.
Predicate<int> isEven = (x) => x % 2 == 0;bool result = isEven(4); // trueExemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Requêtes LINQ : Where utilise Func<TSource, bool> (un prédicat). ForEach utilise Action<T>. Select utilise Func<TSource, TResult>.
Exemple : Enumerable.Where attend un délégué Func<TSource, bool>.