Sobes.tech
Junior — Middle

Qual é a diferença entre a interface IList e a coleção do tipo List em C#?

sobes.tech IA

Resposta da IA

IList<T> é uma interface que define um conjunto de métodos e propriedades para trabalhar com uma coleção que suporta indexação, adição, remoção de elementos, etc. Ela estabelece um contrato que diferentes classes de coleções podem implementar.

List<T> é uma implementação concreta da interface IList<T>, fornecendo um array dinâmico com acesso rápido por índice, bem como a capacidade de adicionar e remover elementos.

Principais diferenças:

  • IList<T> é uma abstração que permite escrever código independente da implementação concreta da coleção.
  • List<T> é uma classe concreta com uma implementação que pode ser usada diretamente.

Exemplo:

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

Aqui, a variável é declarada como IList<int>, o que oferece flexibilidade para alterar a implementação sem modificar o restante do código.