Aller au contenu

Lambdas à instructions

Contexte : Les lambdas à instructions ont un bloc d’instructions entre accolades {}. Elles peuvent contenir plusieurs instructions, boucles, conditions et même des variables locales.

Action<int> printSquare = x =>
{
int square = x * x;
Console.WriteLine($"Le carré de {x} est {square}");
};
printSquare(5);
Func<int, int, int> max = (a, b) =>
{
if (a > b) return a;
return b;
};

Utilisation dans LINQ (moins courante mais possible)

Section intitulée « Utilisation dans LINQ (moins courante mais possible) »
var numbers = new List<int> { 1, 2, 3, 4 };
var evenSquares = numbers.Where(x => x % 2 == 0)
.Select(x =>
{
int square = x * x;
return square;
});

Gestionnaires d’événements complexes : Lorsqu’un gestionnaire d’événement nécessite plusieurs étapes (journalisation, validation, traitement), utilisez une lambda à instructions.

Exemple : Dans WinForms, vous pouvez écrire button.Click += (s, e) => { MessageBox.Show("Salut"); LogClick(); };.