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.