C# 12 - Standardwerte für Parameter in Lambda-Ausdrücken
C# 12 erlaubt es, Standardwerte für Parameter und params-Arrays in Lambda-Ausdrücken anzugeben, genau wie in Methoden und lokalen Funktionen.
Ab C# Version 12 können Sie Standardwerte für die Parameter in Lambda-Ausdrücken angeben. Die Syntax und die Einschränkungen für die Standardparameterwerte sind dieselben wie bei Methoden und lokalen Funktionen.
Ein Beispiel:
var incrementBy = (int source, int increment = 1) => source + increment;
Diese Lambda kann nun wie folgt verwendet werden:
Console.WriteLine(incrementBy(3));
Console.WriteLine(incrementBy(3, 2));
params-Array in Lambda-Ausdrücken
Sie können Lambda-Ausdrücke auch mit einem params-Array als Parameter deklarieren:
var sum = (params int[] values) =>
{
int sum = 0;
foreach (var value in values)
{
sum += value;
}
return sum;
};
Und sie wie jede andere Funktion verwenden:
var empty = sum();
Console.WriteLine(empty); // 0
var sequence = new[] { 1, 2, 3, 4, 5 };
var total = sum(sequence);
Console.WriteLine(total); // 15
Fehler CS8652
The feature ‘lambda optional parameters’ is currently in Preview and unsupported. To use Preview features, use the ‘preview’ language version.
Ihr Projekt muss auf .NET 8 und C# 12 oder neuer zielen, um die optionalen Lambda-Parameter zu nutzen. Falls Sie nicht sicher sind, wie Sie auf C# 12 umstellen, sehen Sie sich diesen Artikel an: Wie Sie zu C# 12 wechseln.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.