Home » Sciences et technologies » Nouveau dans .NET 8.0 [7]: Paramètres facultatifs dans les expressions lambda en C# 12.0​

Nouveau dans .NET 8.0 [7]: Paramètres facultatifs dans les expressions lambda en C# 12.0​

by Nouvelles
Nouveau dans .NET 8.0 [7]: Paramètres facultatifs dans les expressions lambda en C# 12.0​

2024-01-26 16:18:00

Depuis C# 3.0, une expression lambda est une manière abrégée d’écrire une méthode anonyme. Cependant, les lambdas n’autorisaient pas les paramètres facultatifs avant C# 12.0. Cela a changé dans C# 12.0.

Publicité


Dr. Holger Schwichtenberg est le directeur technique du réseau d’experts www.IT-Visions.de qui, avec 53 experts renommés, soutient de nombreuses moyennes et grandes entreprises par le biais de conseils et de formations ainsi que de développement de logiciels. Grâce à ses participations à de nombreuses conférences nationales et internationales ainsi qu’à plus de 90 ouvrages spécialisés et plus de 1 500 articles spécialisés, Holger Schwichtenberg est l’un des experts les plus connus en Allemagne dans le domaine des technologies .NET et Web.

Exemple : Au lieu de cette fonction avec paramètre facultatif z

public decimal Calc(decimal x, decimal y, decimal z = 1)
{
 return (x + y) * z;
}

L’expression lambda suivante est désormais autorisée en C# 12.0 :

var calc = (decimal x, decimal y, decimal z = 1) => (x + y) * z;

Cela fonctionne également avec les instructions lambdas. Au lieu de cette méthode avec paramètre facultatif color

public void Print(object text, ConsoleColor? color = null)
{
 if (color != null) Console.ForegroundColor = color.Value;
 Console.WriteLine(text);
 if (color != null) Console.ResetColor();
}

Cette déclaration Lambda peut maintenant se produire :

var Print = (object text, ConsoleColor? color = null) =>
{
 if (color != null) Console.ForegroundColor = color.Value;
 Console.WriteLine(text);
 if (color != null) Console.ResetColor();
};


(moi)

Vers la page d’accueil



#Nouveau #dans #.NET #Paramètres #facultatifs #dans #les #expressions #lambda
1706338948

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.