Délégués et expressions lambda en C#
Dans cette leçon, vous allez passer une fonction en paramètre à une autre méthode avec le délégué Func et une expression lambda.
Introduction
Un délégué (delegate) est un type qui représente une méthode et permet de transmettre un comportement comme une valeur. Une expression lambda est une façon concise d'écrire une fonction sur place, comme (a, b) => a * b. En les combinant, vous écrivez des méthodes souples qui reçoivent de l'extérieur la manière de traiter les données.
Le type Func<int, int, int> représente une fonction qui reçoit deux entiers et renvoie un entier. La méthode Apply ne connaît pas le calcul à l'avance, elle se contente d'appeler operation(left, right). En lui passant la lambda (left, right) => left * right, Apply effectue la multiplication et renvoie 42.
Exemple C# exécutable
using System;
class Program
{
static int Apply(int left, int right, Func<int, int, int> operation)
=> operation(left, right);
static void Main()
{
int result = Apply(6, 7, (left, right) => left * right);
Console.WriteLine(result);
}
}
42S'entraîner avec le débogueur
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
- Fonctions d'activation Appliquez sigmoïde, ReLU, Leaky ReLU ou tanh à chaque valeur d'une liste. Facile