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