Junior
Cosa sono i tipi generici in C#?
sobes.tech AI
Risposta dell'AI
I tipi generici in C# consentono di definire classi, strutture, interfacce, delegati e metodi con parametri di tipo. Questo permette di riutilizzare il codice e aumentare la sicurezza di tipo.
Vantaggi principali:
- Riutilizzo del codice: Una singola classe o metodo può lavorare con diversi tipi di dati senza duplicare la logica.
- Sicurezza di tipo: Il compilatore verifica i tipi durante la compilazione, prevenendo errori di runtime legati a incompatibilità di tipi.
- Prestazioni: Per i tipi di valore (struct), non avviene il boxing, migliorando le prestazioni rispetto all'uso di
object.
Principi di funzionamento:
- Parametri di tipo: Sono definiti usando le parentesi angolari
<T>, doveTè il nome del parametro di tipo. È possibile usare qualsiasi nome, maTè convenzionale. - Creazione di istanze: Quando si crea un'istanza di un tipo generico, bisogna specificare un tipo di dato concreto per ogni parametro di tipo.
- Restrizioni (Constraints): È possibile imporre restrizioni sui parametri di tipo, indicando quali capacità i tipi devono supportare (ad esempio, implementazione di interfacce, classe base, assenza di costruttore, ecc.).
Esempio di utilizzo della classe generica List<T>:
// Creazione di una lista di interi
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Creazione di una lista di stringhe
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");