C# Academy · Lektion

Delegates und Lambdas erkunden

Verstehen Sie Delegates und Lambda-Ausdrücke für kompakten und flexiblen Code

Lektion 4 von 510 Schritte

Delegates und Lambdas erkunden ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 5 Lektionen.

Lambdas mit Delegates verwenden

Lambdas können Delegates direkt zugewiesen werden. Beispiel:

Delegates und Lambdas erkunden — Illustration 1

Was ist ein Delegate?

Ein Delegate ist ein Typ, der Verweise auf Methoden mit einer bestimmten Signatur enthält. Delegates ermöglichen es, Methoden als Parameter zu übergeben oder dynamisch zuzuweisen.

Beispiel: Delegates werden häufig für Rückrufe und die Ereignisbehandlung verwendet.

Delegates definieren und verwenden

Sie können einen Delegate mithilfe des Schlüsselworts delegate definieren. Beispiel:

Wichtiger Punkt: Delegates bieten eine Möglichkeit, Methoden zu kapseln.

using System;

class Program {
    // Define a delegate
    public delegate void PrintDelegate(string message);

    static void Main() {
        PrintDelegate print = PrintMessage; // Assign method to delegate
        print("Hello, Delegates!"); // Call the method via the delegate
    }

    static void PrintMessage(string message) {
        Console.WriteLine(message);
    }
}

Was ist ein Lambda-Ausdruck?

Ein Lambda-Ausdruck ist eine prägnante Möglichkeit, eine anonyme Methode in C# darzustellen. Er verwendet die Syntax (parameters) => expression.

Beispiel: (x, y) => x + y stellt eine Methode dar, die zwei Zahlen addiert.

Tipp: Lambdas werden häufig mit LINQ und Delegates verwendet, um kürzeren und klareren Code zu schreiben.

Lambda-Ausdrücke mit Delegates

Lambdas mit Delegates verwenden

Lambdas können Delegates direkt zugewiesen werden. Beispiel:

Wichtiger Punkt: Lambdas machen Ihren Code kürzer und lesbarer.

using System;

class Program {
    public delegate int MathOperation(int x, int y);

    static void Main() {
        MathOperation add = (x, y) => x + y; // Lambda for addition
        Console.WriteLine("Result: " + add(10, 20)); // Outputs: Result: 30
    }
}

Multicast-Delegates

Ein einzelner Delegate kann auf mehrere Methoden verweisen. Alle Methoden werden der Reihe nach aufgerufen. Beispiel:

using System;

class Program {
    public delegate void Notify(string message);

    static void Main() {
        Notify notify = PrintMessage;
        notify += LogMessage;

        notify("Hello, Multicast Delegates!"); // Calls both methods
    }

    static void PrintMessage(string message) {
        Console.WriteLine("Print: " + message);
    }

    static void LogMessage(string message) {
        Console.WriteLine("Log: " + message);
    }
}

Praxisaufgabe

Erstellen Sie ein Programm, das einen Delegate StringOperation verwendet, um Zeichenfolgen zu bearbeiten, beispielsweise durch die Umwandlung in Großbuchstaben und das Umkehren einer Zeichenfolge. Beispiel:

using System;

class Program {
    public delegate string StringOperation(string input);

    static void Main() {
        StringOperation operations = ToUpperCase;
        operations += ReverseString;

        string input = "Hello";
        foreach (var operation in operations.GetInvocationList()) {
            Console.WriteLine(((StringOperation)operation)(input));
        }
    }

    static string ToUpperCase(string input) {
        return input.ToUpper();
    }

    static string ReverseString(string input) {
        char[] chars = input.ToCharArray();
        Array.Reverse(chars);
        return new string(chars);
    }
}

Bewährte Vorgehensweisen für Delegates und Lambdas

Hier sind einige bewährte Vorgehensweisen:

  • Verwenden Sie Delegates, um Rückrufe und die Ereignisbehandlung zu implementieren.
  • Bevorzugen Sie Lambda-Ausdrücke für kurzen und klaren Code.
  • Kombinieren Sie Lambdas mit LINQ für eine effiziente Datenverarbeitung.
  • Vermeiden Sie übermäßig komplexe Lambdas, damit der Code lesbar bleibt.

Tipp: Verwenden Sie aussagekräftige Parameternamen in Lambdas, um die Verständlichkeit des Codes zu verbessern.

Sehr gut!

Herzlichen Glückwunsch! Sie haben gelernt, wie Sie Delegates und Lambda-Ausdrücke verwenden, um funktionalen und ereignisgesteuerten Code in C# zu schreiben. In der nächsten Lektion beschäftigen wir uns mit Reflection in C#, einer leistungsfähigen Funktion zur Laufzeitanalyse von Typen. Programmieren wir weiter!

Delegates und Lambdas erkunden — Illustration 10
Kostenlos starten

Lerne C# mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
93
Lektionen
346

Häufig gestellte Fragen

Ist die Lektion „Delegates und Lambdas erkunden“ kostenlos?

Ja — der vollständige Text von „Delegates und Lambdas erkunden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Delegates und Lambdas erkunden“?

Verstehen Sie Delegates und Lambda-Ausdrücke für kompakten und flexiblen Code Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 5.

Wie lange dauert die Lektion „Delegates und Lambdas erkunden“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Generics in C#
  2. Async und Await: Mit asynchronem Code arbeiten
  3. Threading und Tasks verstehen
  4. Delegates und Lambdas erkunden
  5. Reflection in C# verstehen
← Zurück zu C# Academy