Junior
Was sind generische Typen in C#?
sobes.tech KI
Antwort von AI
Generische Typen in C# ermöglichen die Definition von Klassen, Strukturen, Schnittstellen, Delegaten und Methoden mit Typparametern. Dies bietet die Möglichkeit, Code wiederzuverwenden und die Typsicherheit zu erhöhen.
Hauptvorteile:
- Code-Wiederverwendung: Eine einzige Klasse oder Methode kann mit verschiedenen Datentypen arbeiten, ohne Logik zu duplizieren.
- Typsicherheit: Der Compiler überprüft die Typen während der Kompilierung, um Laufzeitfehler im Zusammenhang mit Typinkompatibilitäten zu vermeiden.
- Leistung: Für Werttypen (struct) findet kein Boxing statt, was die Leistung im Vergleich zur Verwendung von
objectverbessert.
Funktionsprinzipien:
- Typparameter: Werden mit spitzen Klammern
<T>definiert, wobeiTder Name des Typparameters ist. Es kann jeder Name verwendet werden, aberTist üblich. - Erstellung von Instanzen: Beim Erstellen einer Instanz eines generischen Typs muss für jeden Typparameter ein konkreter Datentyp angegeben werden.
- Einschränkungen (Constraints): Es können Einschränkungen für die Typparameter auferlegt werden, die angeben, welche Fähigkeiten die Typen unterstützen müssen (z.B. Implementierung eines Interfaces, Basisklasse, kein Konstruktor usw.).
Beispiel für die Verwendung der generischen Klasse List<T>:
// Erstellen einer Liste von Ganzzahlen
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Erstellen einer Liste von Strings
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");