Esercizi C#

Un repository generico in memoria con C#

In questa lezione costruirai una classe repository generica che può memorizzare qualsiasi tipo di dato mantenendo la sicurezza dei tipi.

Introduzione

Un repository è lo strato intermedio responsabile di salvare e recuperare i dati. Scrivendo il repository in forma generica, basta una sola implementazione per molti tipi di dati, come utenti, prodotti o ordini, senza conversioni di tipo.

La classe Repository<T> memorizza i dati in una List<T> private. Creando new Repository<string>(), il repository accetta solo stringhe, e ogni tentativo di aggiungere un altro tipo viene bloccato dal compilatore. La proprietà All restituisce un IReadOnlyList<T>, che permette di leggere la lista ma non di modificarla dall'esterno.

Esempio C# eseguibile

C#
Esegui il codice →
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]); }
}
Risultato dell'esecuzione
C#

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide