Sobes.tech
Junior

Wat zijn generieke types in C#?

sobes.tech AI

Antwoord van AI

Generieke types in C# maken het mogelijk om klassen, structuren, interfaces, delegates en methoden te definiëren met tupulair parameters. Dit biedt de mogelijkheid om code herbruikbaar te maken en de typeveiligheid te verhogen.

Belangrijkste voordelen:

  • Codehergebruik: Eén klasse of methode kan met verschillende datatypes werken zonder logica te dupliceren.
  • Typeveiligheid: De compiler controleert de types tijdens de compilatie, waardoor runtime-fouten door type-incompatibiliteit worden voorkomen.
  • Prestaties: Voor waarde-typen (structs) vindt geen boxing plaats, wat de prestaties verbetert ten opzichte van het gebruik van object.

Werking principes:

  • Typeparameters: Worden gedefinieerd met behulp van hoekige haakjes <T>, waarbij T de naam van de typeparameter is. Elke naam kan worden gebruikt, maar T is gebruikelijk.
  • Instanties maken: Bij het maken van een instantie van een generiek type moet voor elke typeparameter een concreet datatype worden opgegeven.
  • Beperkingen (Constraints): Beperkingen kunnen worden opgelegd aan de typeparameters, zoals het implementeren van een interface, een basisklasse, geen constructor, enz.

Voorbeeld van gebruik van de generieke klasse List<T>:

// Lijst van gehele getallen maken
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);

// Lijst van strings maken
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");