C# orienté objet

Les génériques en C#

Dans cette leçon, vous allez écrire une classe générique réutilisable avec de nombreux types de données tout en restant sûre pour les types.

Introduction

Les génériques permettent d'écrire des classes ou des méthodes avec un type pas encore défini, noté T, le type concret étant choisi au moment de l'utilisation. Vous écrivez ainsi le code une seule fois et l'utilisez avec int, string ou tout autre type, tandis que le compilateur continue de vérifier entièrement les types.

La classe Box<T> stocke une valeur de type T. Quand vous créez new Box<int>(42), T devient int, la propriété Value est donc de type int, et si vous essayez d'y affecter une chaîne, le compilateur signale immédiatement l'erreur. La même classe peut servir de Box<string> ou de Box<double> sans être réécrite.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
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);
    }
}
Résultat de l’exécution
42

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis