Delegates und Lambda-Ausdrücke in C#
In dieser Lektion übergibst du mit dem Delegate Func und einem Lambda-Ausdruck eine Funktion als Parameter an eine andere Methode.
Einführung
Ein Delegate ist ein Typ, der eine Methode darstellt und es erlaubt, Verhalten wie einen Wert weiterzugeben. Ein Lambda-Ausdruck ist eine kurze Schreibweise, um eine Funktion direkt vor Ort zu schreiben, etwa (a, b) => a * b. Zusammen ermöglichen sie flexible Methoden, die die Art der Verarbeitung von außen erhalten.
Der Typ Func<int, int, int> steht für eine Funktion, die zwei ganze Zahlen annimmt und eine ganze Zahl zurückgibt. Die Methode Apply kennt die konkrete Rechnung nicht, sondern ruft nur operation(left, right) auf. Übergibt man das Lambda (left, right) => left * right, führt Apply die Multiplikation aus und gibt 42 zurück.
Ausführbares C#-Beispiel
using System;
class Program
{
static int Apply(int left, int right, Func<int, int, int> operation)
=> operation(left, right);
static void Main()
{
int result = Apply(6, 7, (left, right) => left * right);
Console.WriteLine(result);
}
}
42Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
- Aktivierungsfunktionen Wende Sigmoid, ReLU, Leaky ReLU oder tanh auf jeden Wert einer Liste an. Einfach