Objektorientiertes C#

Generics in C#

In dieser Lektion schreibst du eine generische Klasse, die du mit vielen Datentypen wiederverwenden kannst und die trotzdem typsicher bleibt.

Einführung

Mit Generics schreibst du Klassen oder Methoden mit einem noch nicht festgelegten Typ, geschrieben als T, und der konkrete Typ wird erst bei der Verwendung gewählt. So schreibst du den Code nur einmal und nutzt ihn mit int, string oder jedem anderen Typ, während der Compiler die Typen weiterhin vollständig prüft.

Die Klasse Box<T> speichert einen Wert vom Typ T. Erzeugst du new Box<int>(42), wird T zu int, die Eigenschaft Value hat also den Typ int, und versuchst du, einen String zuzuweisen, meldet der Compiler sofort einen Fehler. Dieselbe Klasse lässt sich ohne Umschreiben als Box<string> oder Box<double> verwenden.

Ausführbares C#-Beispiel

C#
Code ausführen →
Program.cs
using System;

class Box<T>(T value) { public T Value { get; } = value; }

class Program
{
    static void Main()
    {
        var box = new Box<int>(42);
        Console.WriteLine(box.Value);
    }
}
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