Sobes.tech
Junior — Middle

Kāda ir atšķirība starp interfeisu IList un kolekciju tipa List C#?

sobes.tech AI

Atbilde no AI

IList<T> irsa interfeiss, kas definē metožu un īpašību kopumu darbam ar kolekciju, kas atbalsta indeksēšanu, elementu pievienošanu, dzēšanu utt. Tas nosaka līgumu, ko var īstenot dažādas kolekciju klases.

List<T> ir konkrēta IList<T> interfeisa īstenošana, kas nodrošina dinamisku masīvu ar ātru piekļuvi pēc indeksa, kā arī iespēju pievienot un dzēst elementus.

Galvenās atšķirības:

  • IList<T> ir abstrakcija, kas ļauj rakstīt kodu, kas ir neatkarīgs no konkrētās kolekcijas īstenošanas.
  • List<T> ir konkrēta klase ar īstenojumu, ko var tieši izmantot.

Piemērs:

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

Šeit mainīgais ir deklarēts kā IList<int>, kas nodrošina elastību mainīt īstenojumu, nemainot pārējo kodu.