Wichtige C#-Themen

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

C#
Code ausführen →
Program.cs
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);
    }
}
Ergebnis der Ausführung
42

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

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.

Alle Challenges