Types génériques en C#
Découvrez comment les types génériques permettent de créer des structures de code réutilisables et sûres du point de vue des types
Types génériques en C# est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 5 leçons au total.
Introduction aux types génériques
Les types génériques en C#
Bienvenue dans la première leçon sur les « fonctionnalités avancées de C# » ! Dans cette leçon, vous apprendrez ce que sont les types génériques, une fonctionnalité puissante de C# qui vous permet de créer du code flexible et réutilisable. Commençons !

Que sont les types génériques ?
Que sont les types génériques ?
Les types génériques sont une fonctionnalité de C# qui vous permet de définir des classes, des méthodes et des structures de données avec un espace réservé pour le type de données qu’elles stockent ou utilisent. Les types génériques permettent d’assurer la sûreté du typage et de réutiliser le code.
Exemple : une liste générique (List<T>) peut stocker des éléments de n’importe quel type tout en garantissant la sûreté du typage.
Créer des classes génériques
Créer des classes génériques
Vous pouvez définir une classe générique à l’aide de la syntaxe <T>, où T représente un paramètre de type. Exemple :
Point clé : utilisez les types génériques pour créer des classes qui fonctionnent avec n’importe quel type de données tout en préservant la sûreté du typage.
using System;
class GenericBox<T> {
public T Value { get; set; }
public void Display() {
Console.WriteLine("Value: " + Value);
}
}
class Program {
static void Main() {
GenericBox<int> intBox = new GenericBox<int> { Value = 42 };
intBox.Display(); // Outputs: Value: 42
GenericBox<string> stringBox = new GenericBox<string> { Value = "Hello, Generics!" };
stringBox.Display(); // Outputs: Value: Hello, Generics!
}
}
Créer des méthodes génériques
Créer des méthodes génériques
Vous pouvez définir une méthode générique au sein d’une classe. Exemple :
Conseil : utilisez les méthodes génériques pour les opérations qui s’appliquent à plusieurs types de données.
using System;
class Program {
static void Main() {
PrintValue(42);
PrintValue("Generics are powerful!");
}
static void PrintValue<T>(T value) {
Console.WriteLine("Value: " + value);
}
}
Contraintes des types génériques
Contraintes des types génériques
Les contraintes restreignent les types qui peuvent être utilisés comme paramètres de type. Exemple :
where T : struct- T doit être un type valeur.where T : class- T doit être un type référence.where T : new()- T doit avoir un constructeur sans paramètre.
Exemple :
Point clé : les contraintes rendent les types génériques plus flexibles et adaptés à des scénarios spécifiques.
using System;
class Program {
static void Main() {
DisplayDefault<int>();
DisplayDefault<string>();
}
static void DisplayDefault<T>() where T : new() {
T instance = new T();
Console.WriteLine("Created instance of: " + typeof(T));
}
}
Collections génériques
Collections génériques
C# fournit plusieurs collections génériques intégrées :
- Liste<T> : stocke une collection d’éléments dans un tableau dynamique.
- Dictionnaire<TKey, TValue> : stocke des paires clé-valeur pour des recherches rapides.
- File<T> : implémente une structure premier entré, premier sorti (FIFO).
Exemple : utiliser une liste générique :
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
Exercice pratique
Exercice pratique
Créez une classe générique Pair<TKey, TValue> qui stocke une paire clé-valeur, ainsi qu’une méthode générique Swap() qui échange la clé et la valeur. Exemple :
using System;
class Pair<TKey, TValue> {
public TKey Key { get; set; }
public TValue Value { get; set; }
public void Swap() {
(Key, Value) = ((TKey)(object)Value, (TValue)(object)Key);
}
public void Display() {
Console.WriteLine($"Key: {Key}, Value: {Value}");
}
}
class Program {
static void Main() {
Pair<string, int> pair = new Pair<string, int> { Key = "Age", Value = 30 };
pair.Display();
pair.Swap();
pair.Display();
}
}
Bonnes pratiques d’utilisation des types génériques
Bonnes pratiques d’utilisation des types génériques
Voici quelques bonnes pratiques :
- Utilisez les types génériques pour créer des classes et des méthodes réutilisables et sûres du point de vue du typage.
- Appliquez des contraintes lorsque des exigences de type spécifiques sont nécessaires.
- Préférez les collections génériques aux collections non génériques pour de meilleures performances et une plus grande sécurité.
Conseil : utilisez des noms explicites pour les paramètres de type, comme T pour le type ou TKey et TValue pour les paires clé-valeur.
Bravo !
Bravo !
Félicitations ! Vous avez appris à utiliser les génériques pour créer du code réutilisable et flexible en C#. Dans la prochaine leçon, nous explorerons la programmation asynchrone avec async et await. Continuons à coder !

Questions Fréquemment Posées
La leçon « Types génériques en C# » est-elle gratuite ?
Oui — le texte complet de « Types génériques en C# » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 5 leçons au total.
Qu'est-ce que j'apprendrai dans « Types génériques en C# » ?
Découvrez comment les types génériques permettent de créer des structures de code réutilisables et sûres du point de vue des types Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C# Academy ?
Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 5.
Combien de temps prend la leçon « Types génériques en C# » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?
Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Types génériques en C#
- Async et await : manipuler le code asynchrone
- Comprendre les threads et les tâches
- Découvrir les délégués et les expressions lambda
- Comprendre la réflexion en C#