Sobes.tech
Junior — Middle

Care este diferența dintre interfața IList și colecția de tip List în C#?

sobes.tech AI

Răspuns de la AI

IList<T> este o interfață care definește un set de metode și proprietăți pentru a lucra cu o colecție care suportă indexarea, adăugarea, eliminarea elementelor etc. Ea stabilește un contract pe care îl pot implementa diferite clase de colecții.

List<T> este o implementare concretă a interfeței IList<T>, care oferă un array dinamic cu acces rapid după index, precum și posibilitatea de a adăuga și elimina elemente.

Diferențele principale:

  • IList<T> este o abstracție care permite scrierea de cod independent de implementarea concretă a colecției.
  • List<T> este o clasă concretă cu o implementare care poate fi utilizată direct.

Exemplu:

IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1

Aici, variabila este declarată ca IList<int>, ceea ce oferă flexibilitate în schimbarea implementării fără a modifica restul codului.