Junior — Middle
Aký je rozdiel medzi rozhraním IList a kolekciou typu List v C#?
sobes.tech AI
Odpoveď od AI
IList<T> je rozhranie, ktoré definuje súbor metód a vlastností na prácu s kolekciou podporujúcou indexovanie, pridávanie, odstraňovanie prvkov atď. Stanovuje zmluvu, ktorú môžu implementovať rôzne triedy kolekcií.
List<T> je konkrétna implementácia rozhrania IList<T>, ktorá poskytuje dynamické pole s rýchlym prístupom podľa indexu, ako aj možnosť pridávať a odstraňovať prvky.
Hlavné rozdiely:
- IList<T> je abstrakcia, ktorá umožňuje písať kód nezávislý od konkrétnej implementácie kolekcie.
- List<T> je konkrétna trieda s implementáciou, ktorú možno priamo použiť.
Príklad:
IList<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
Console.WriteLine(numbers[0]); // 1
Tu je premenná deklarovaná ako IList<int>, čo poskytuje flexibilitu pri zmene implementácie bez zmeny zvyšku kódu.