Sobes.tech
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.