0Pricing
C# Academy · Lektion

Generics in C#

Lernen Sie, wie Generics typsichere und wiederverwendbare Codestrukturen ermöglichen

Generics in C# ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.

Einführung in Generics

Generics in C#

Willkommen zur ersten Lektion im Bereich „Erweiterte C#-Funktionen“! In dieser Lektion lernen Sie Generics kennen, ein leistungsfähiges Feature in C#, mit dem Sie flexiblen und wiederverwendbaren Code erstellen können. Beginnen wir!

Generics in C# — Illustration 1

Was sind Generics?

Was sind Generics?

Generics sind ein Feature in C#, mit dem Sie Klassen, Methoden und Datenstrukturen mit einem Platzhalter für den Datentyp definieren können, den sie speichern oder verwenden. Generics ermöglichen Typsicherheit und die Wiederverwendung von Code.

Beispiel: Eine generische Liste (List<T>) kann Elemente beliebigen Typs speichern und dabei Typsicherheit gewährleisten.

Generische Klassen erstellen

Generische Klassen erstellen

Sie können eine generische Klasse mit der Syntax <T> definieren, wobei T einen Typparameter darstellt. Beispiel:

Wichtiger Punkt: Verwenden Sie Generics, um Klassen zu erstellen, die mit jedem Datentyp arbeiten und dabei Typsicherheit gewährleisten.

using System;

class GenericBox<T> {
    public T Value { get; set; }

    public void Display() {
        Console.WriteLine("Value: " + Value);
    }
}

class Program {
    static void Main() {
        GenericBox<int> intBox = new GenericBox<int> { Value = 42 };
        intBox.Display(); // Outputs: Value: 42

        GenericBox<string> stringBox = new GenericBox<string> { Value = "Hello, Generics!" };
        stringBox.Display(); // Outputs: Value: Hello, Generics!
    }
}

Generische Methoden erstellen

Generische Methoden erstellen

Sie können eine generische Methode innerhalb einer Klasse definieren. Beispiel:

Tipp: Verwenden Sie generische Methoden für Operationen, die auf mehrere Datentypen anwendbar sind.

using System;

class Program {
    static void Main() {
        PrintValue(42);
        PrintValue("Generics are powerful!");
    }

    static void PrintValue<T>(T value) {
        Console.WriteLine("Value: " + value);
    }
}

Einschränkungen für Generics

Einschränkungen für Generics

Constraints schränken die Typen ein, die als Typparameter verwendet werden können. Beispiel:

  • where T : struct – T muss ein Werttyp sein.
  • where T : class – T muss ein Verweistyp sein.
  • where T : new() – T muss einen parameterlosen Konstruktor besitzen.

Beispiel:

Wichtiger Punkt: Constraints machen Generics flexibler und für bestimmte Szenarien einsetzbar.

using System;

class Program {
    static void Main() {
        DisplayDefault<int>();
        DisplayDefault<string>();
    }

    static void DisplayDefault<T>() where T : new() {
        T instance = new T();
        Console.WriteLine("Created instance of: " + typeof(T));
    }
}

Generische Collections

Generische Collections

C# stellt mehrere integrierte generische Collections bereit:

  • List<T>: Speichert eine Sammlung von Elementen in einem dynamischen Array.
  • Dictionary<TKey, TValue>: Speichert Schlüssel-Wert-Paare für schnelle Suchvorgänge.
  • Queue<T>: Implementiert eine Struktur nach dem First-In-First-Out-Prinzip (FIFO).

Beispiel: Verwendung einer generischen Liste:

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
        names.Add("Diana");

        foreach (string name in names) {
            Console.WriteLine(name);
        }
    }
}

Übungsaufgabe

Übungsaufgabe

Erstellen Sie eine generische Klasse Pair<TKey, TValue>, die ein Schlüssel-Wert-Paar speichert, sowie eine generische Methode Swap(), die Schlüssel und Wert vertauscht. Beispiel:

using System;

class Pair<TKey, TValue> {
    public TKey Key { get; set; }
    public TValue Value { get; set; }

    public void Swap() {
        (Key, Value) = ((TKey)(object)Value, (TValue)(object)Key);
    }

    public void Display() {
        Console.WriteLine($"Key: {Key}, Value: {Value}");
    }
}

class Program {
    static void Main() {
        Pair<string, int> pair = new Pair<string, int> { Key = "Age", Value = 30 };
        pair.Display();
        pair.Swap();
        pair.Display();
    }
}

Bewährte Vorgehensweisen für die Verwendung von Generics

Bewährte Vorgehensweisen für die Verwendung von Generics

Hier sind einige bewährte Vorgehensweisen:

  • Verwenden Sie Generics, um wiederverwendbare und typsichere Klassen und Methoden zu erstellen.
  • Verwenden Sie Constraints, wenn bestimmte Anforderungen an den Typ erfüllt sein müssen.
  • Bevorzugen Sie aus Gründen der Leistung und Sicherheit generische Collections gegenüber nicht generischen Collections.

Tipp: Verwenden Sie aussagekräftige Namen für Typparameter, z. B. T für einen Typ oder TKey und TValue für Schlüssel-Wert-Paare.

Sehr gut!

Sehr gut!

Herzlichen Glückwunsch! Sie haben gelernt, wie Sie Generics verwenden, um wiederverwendbaren und flexiblen Code in C# zu erstellen. In der nächsten Lektion erkunden wir die asynchrone Programmierung mit async und await. Programmieren wir weiter!

Generics in C# — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Generics in C#“ kostenlos?

Ja — der vollständige Text von „Generics in C#“ 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 „Generics in C#“?

Lernen Sie, wie Generics typsichere und wiederverwendbare Codestrukturen ermöglichen 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 1 von 5.

Wie lange dauert die Lektion „Generics in C#“?

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