Sobes.tech
Junior — Middle

Jaký je rozdíl mezi rozhraním IList a kolekcí typu List v C#?

sobes.tech AI

Odpověď od AI

IList<T> je rozhraní, které definuje sadu metod a vlastností pro práci s kolekcí podporující indexování, přidávání, odstraňování prvků atd. Stanovuje smlouvu, kterou mohou implementovat různé třídy kolekcí.

List<T> je konkrétní implementace rozhraní IList<T>, která poskytuje dynamické pole s rychlým přístupem podle indexu, stejně jako možnost přidávat a odstraňovat prvky.

Hlavní rozdíly:

  • IList<T> je abstrakce, která umožňuje psát kód nezávislý na konkrétní implementaci kolekce.
  • List<T> je konkrétní třída s implementací, kterou lze přímo používat.

Příklad:

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

Zde je proměnná deklarována jako IList<int>, což poskytuje flexibilitu měnit implementaci, aniž by bylo nutné měnit zbytek kódu.