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
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);
}
}
42Esercitati con il debugger
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