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.