Sobes.tech
Junior

Qu'est-ce que les types génériques en C#?

sobes.tech IA

Réponse de l'IA

Les types génériques en C# permettent de définir des classes, structures, interfaces, délégués et méthodes avec des paramètres de type. Cela offre la possibilité de réutiliser du code et d'améliorer la sécurité de type.

Principaux avantages :

  • Réutilisation du code : Une seule classe ou méthode peut fonctionner avec différents types de données sans duplication de logique.
  • Sécurité de type : Le compilateur vérifie les types lors de la compilation, évitant ainsi les erreurs d'exécution liées à des incompatibilités de types.
  • Performance : Pour les types de valeur (struct), il n'y a pas de boxing, ce qui améliore la performance par rapport à l'utilisation de object.

Principes de fonctionnement :

  • Paramètres de type : Définis avec des crochets angulaires <T>, où T est le nom du paramètre de type. Vous pouvez utiliser n'importe quel nom, mais T est conventionnel.
  • Création d'instances : Lors de la création d'une instance d'un type générique, vous devez spécifier un type de données concret pour chaque paramètre de type.
  • Contraintes (Constraints) : Il est possible d'imposer des contraintes sur les paramètres de type, indiquant quelles capacités les types doivent supporter (par exemple, implémentation d'une interface, classe de base, absence de constructeur, etc.).

Exemple d'utilisation de la classe générique List<T> :

// Création d'une liste d'entiers
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);

// Création d'une liste de chaînes
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");