Exercices C#

Un dépôt générique en mémoire avec C#

Dans cette leçon, vous allez construire une classe de dépôt (repository) générique capable de stocker n'importe quel type de données tout en restant sûre pour les types.

Introduction

Un dépôt (repository) est la couche intermédiaire chargée de stocker et de récupérer les données. En l'écrivant de façon générique, une seule implémentation suffit pour de nombreux types de données, comme les utilisateurs, les produits ou les commandes, sans aucune conversion de type.

La classe Repository<T> stocke les données dans une List<T> private. Quand on crée new Repository<string>(), le dépôt n'accepte que des chaînes, et toute tentative d'ajouter un autre type est signalée par le compilateur. La propriété All renvoie une IReadOnlyList<T>, qui permet de lire la liste mais pas de la modifier depuis l'extérieur.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;
using System.Collections.Generic;
class Repository<T>
{
    private readonly List<T> _items = new();
    public void Add(T item) => _items.Add(item);
    public IReadOnlyList<T> All => _items;
}
class Program
{
    static void Main() { var repo = new Repository<string>(); repo.Add("C#"); Console.WriteLine(repo.All[0]); }
}
Résultat de l’exécution
C#

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