Aller au contenu

Fonctions anonymes

Contexte : Les fonctions anonymes sont des méthodes sans nom. C# en a deux sortes : les expressions lambda et les méthodes anonymes (avec le mot‑clé delegate).

// Méthode anonyme (avant C# 3.0)
Func<int, int> square = delegate(int x) { return x * x; };
// Expression lambda (C# 3.0+)
Func<int, int> squareLambda = x => x * x;

Bases de code héritées : Les anciens codes .NET Framework utilisent souvent des méthodes anonymes là où les lambdas n’étaient pas disponibles (C# 2.0).

Exemple : Dans WinForms, vous pouvez encore voir button.Click += delegate(object sender, EventArgs e) { ... };.