C# orientato agli oggetti

I generics in C#

In questa lezione scriverai una classe generica riutilizzabile con diversi tipi di dati, mantenendo la sicurezza dei tipi.

Introduzione

I generics permettono di scrivere classi o metodi con un tipo non ancora definito, indicato con T, e il tipo concreto viene scelto al momento dell'uso. Così scrivi il codice una volta e lo usi con int, string o qualsiasi altro tipo, mentre il compilatore continua a controllare completamente i tipi.

La classe Box<T> contiene un valore di tipo T. Creando new Box<int>(42), T diventa int, quindi la proprietà Value è di tipo int, e se provi ad assegnarle una stringa il compilatore segnala subito l'errore. La stessa classe si può usare come Box<string> o Box<double> senza riscriverla.

Esempio C# eseguibile

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

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