Sobes.tech
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>, dove T è il nome del parametro di tipo. È possibile usare qualsiasi nome, ma T è 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");