Sujets C# importants

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

C#
Exécuter le code →
Program.cs
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);
    }
}
Résultat de l’exécution
42

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

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.

Tous les défis