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
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);
}
}
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.
- Min-Stack Baue einen Stack, der nach jedem Push oder Pop sofort sein kleinstes Element meldet. Mittel