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