Lambda-Ausdrücke
Lambda - Ausdrücke
Lambda-Ausdrücke sind eine verkürzte Schreibweise, um anonyme Methoden in C# zu erstellen. Sie ermöglichen es, Funktionen als Parameter an Methoden zu übergeben oder als Rückgabewerte von Methoden zu verwenden. Mit Lambda-Ausdrücken können Sie auch schnell und einfach Delegaten erstellen, die als Event-Handler in Event-basierten Anwendungen verwendet werden können. Lambda-Ausdrücke bieten auch eine kompakte Syntax, die es einfacher macht, Funktionen zu schreiben und den Code leichter lesbar zu machen.
internal class LambdaExample
{
private delegate double CalculatHandler(double number1, double number2);
public static void Run()
{
CalculatHandler calculator;
while (true)
{
Console.WriteLine("1 - Addieren, 2 - Subtraieren, 3 - Mulipilzieren, 4 - Dvidieren:");
int choice = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Nummber 1: ");
double number1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Number 2: ");
double number2 = Convert.ToDouble(Console.ReadLine());
switch (choice)
{
default:
calculator = (double number1, double number2) =>
{
return (number1 + number2);
};
break;
case 2:
// verkürzte Schreibweise, return darf weggelassen werden
calculator = (double number1, double number2) => number1 - number2;
break;
case 3:
// verkürzte Schreibweise möglich, wenn die Datentypen bekannt sind.
calculator = (number1, number2) => number1 * number2;
break;
case 4:
calculator = (number1, number2) => number1 / number2;
break;
}
double result = calculator(number1, number2);
Console.WriteLine($"Das Ergebnis ist {result}\n\n");
}
}
}
Lambda Verkürzungen
Lambda-Ausdrücke sind eine verkürzte Schreibweise, um anonyme Funktionen in C# zu definieren.
Hier sind Möglichkeiten der Verkürzung:
- Mit nur einem Parameter:
x => x + 1
- Mit mehreren Parametern:
(x, y) => x * y
- Ohne Parameter:
() => Console.WriteLine("Hello World!")
- Mit explizitem Rückgabewert:
(x, y) =>
{
int result = x + y;
return result;
}
- Mit implizitem Rückgabewert:
(x, y) => x + y