Junior — Middle
Qual è la differenza tra l'interfaccia IList e la collezione di tipo List in C#?
sobes.tech AI
Risposta dell'AI
IList<T> è un'interfaccia che definisce un insieme di metodi e proprietà per lavorare con una collezione che supporta l'indicizzazione, l'aggiunta, la rimozione di elementi, ecc. Essa stabilisce un contratto che diverse classi di collezioni possono implementare.
List<T> è un'implementazione concreta dell'interfaccia IList<T>, che fornisce un array dinamico con accesso rapido tramite indice, oltre alla possibilità di aggiungere e rimuovere elementi.
Differenze principali:
- IList<T> è un'astrazione che permette di scrivere codice indipendente dall'implementazione concreta della collezione.
- List<T> è una classe concreta con un'implementazione che può essere usata direttamente.
Esempio:
IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1
Qui, la variabile è dichiarata come IList<int>, il che offre flessibilità nel cambiare l'implementazione senza modificare il resto del codice.