Sobes.tech
Junior — Middle

Mi a különbség az IList interfész és a List típusú gyűjtemény között C#-ban?

sobes.tech MI

Válasz az MI-től

IList<T> egy interfész, amely meghatározza a metódusok és tulajdonságok halmazát egy indexelhető, elemek hozzáadását, törlését támogató kollekció kezelésére. Olyan szerződést ír elő, amelyet különböző kollekciós osztályok valósíthatnak meg.

List<T> az IList<T> interfész konkrét megvalósítása, amely dinamikus tömböt biztosít gyors hozzáféréssel index szerint, valamint az elemek hozzáadására és törlésére.

Fő különbségek:

  • Az IList<T> absztrakció, amely lehetővé teszi, hogy a kód független legyen a kollekció konkrét megvalósításától.
  • A List<T> egy konkrét osztály, amelyet közvetlenül lehet használni.

Példa:

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

Itt a változó IList<int> típusú, ami rugalmasságot ad a megvalósítás cseréjéhez anélkül, hogy a kód többi részét módosítani kellene.