Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

List e Enumerable

Olá galera, pesquisando um pouco descobri q existe outro "manipulador de array" além do List, alguém sabe me dizer qual a diferença do Enumerable ?

E quando usar os dois ? Dei uma olhadinha na documentação do c# (MSDN) mas não entendi muito bem, ficou meio vago sabe.

2 respostas
solução!

Oi Gabriel

Eu não entendi direito o que você quis dizer com manipulador de arrays, você poderia explicar um pouco melhor?

No C# existem basicamente dois Enumerables que são importantes para o seu código, a classe Enumerable que é utilizada pelo LINQ e o IEnumerable que é uma interface implementada pelas collections do C#.

A classe Enumerable é utilizada basicamente para implementar todos os métodos que são utilizados pelo LINQ. Um ponto que não foi abordado no curso é que todos os métodos do LINQ são extension methods que são importados do namespace System.Linq (Se você tirar a importação desse namespace do seu arquivo .cs você não consegue mais utilizar o LINQ) e são implementados pela classe System.Linq.Enumerable.

Já o IEnumerable é a interface do C# que é utilizada pelo comando foreach da linguagem. Qualquer classe que implemente essa interface pode ser utilizada dentro do comando foreach da linguagem. Implementações dessa interface incluem as coleções e os arrays do C#.

Logo utilizamos o IEnumerable apenas em situações em que queremos apenas iterar na coleção, em qualquer outra situação, devemos utilizar um tipo mais específico como o List, IList, ISet, HashSet, SortedSet, ICollection e arrays.

Para uma explicação alternativa sobre as coleções você pode consultar a apostila aberta da formação C# da caelum:

Capítulo sobre listas: https://www.caelum.com.br/apostila-csharp-orientacao-objetos/trabalhando-com-listas/ Capítulo sobre conjuntos e dicionários: https://www.caelum.com.br/apostila-csharp-orientacao-objetos/lidando-com-conjuntos/

Mto obrigado Victor , e parabéns pelas as aulas

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software