Sobes.tech
Junior — Middle

Jaka jest różnica między interfejsem IList a kolekcją typu List w C#?

sobes.tech AI

Odpowiedź od AI

IList<T> to interfejs, który definiuje zestaw metod i właściwości do pracy z kolekcją obsługującą indeksowanie, dodawanie, usuwanie elementów itp. Ustanawia kontrakt, który mogą implementować różne klasy kolekcji.

List<T> to konkretna implementacja interfejsu IList<T>, zapewniająca dynamiczną tablicę z szybkim dostępem po indeksie, a także możliwość dodawania i usuwania elementów.

Główne różnice:

  • IList<T> to abstrakcja, która pozwala pisać kod niezależny od konkretnej implementacji kolekcji.
  • List<T> to konkretna klasa z implementacją, którą można używać bezpośrednio.

Przykład:

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

Tutaj zmienna jest zadeklarowana jako IList<int>, co daje elastyczność w zmianie implementacji bez zmiany reszty kodu.