Junior — Middle
Kuo skiriasi C#-oje IList sąsaja nuo List tipo kolekcijos?
sobes.tech AI
Atsakymas iš AI
IList<T> yra sąsaja, kuri apibrėžia metodų ir savybių rinkinį darbui su kolekcija, palaikančia indeksavimą, elementų pridėjimą, šalinimą ir kt. Ji nustato sutartį, kurią gali įgyvendinti įvairios kolekcijų klasės.
List<T> yra konkreti IList<T> sąsajos įgyvendinimas, teikiantis dinaminį masyvą su greitu prieiga per indeksą, taip pat galimybę pridėti ir pašalinti elementus.
Pagrindiniai skirtumai:
- IList<T> yra abstrakcija, leidžianti rašyti kodą, nepriklausomą nuo konkrečios kolekcijos įgyvendinimo.
- List<T> yra konkretus klasės įgyvendinimas, kurį galima naudoti tiesiogiai.
Pavyzdys:
IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1
Čia kintamasis deklaruotas kaip IList<int>, kas suteikia lankstumo keisti įgyvendinimą, nekeičiant likusio kodo.