sábado, 7 de janeiro de 2012

Coleções em C#



Frequentemente um Arrays é a maneira mais simples, mais direta de lidar com uma lisa de Students ou uma lista de Double. Você também encontrará muitos lugares na biblioteca de classe de NET Framework que requerem o uso do Arrays.

Mas Arrays têm algumas suficientes sérias limitações que ficarão algumas vezes no seu caminho. Nesses momentos, você apreciará o extenso repertório do C# de classes de coleção flexíveis.

Apesar dos Arrays terem a vantagem da simplicidade e poderem ter múltiplas dimensões, eles sofrem de duas coleção mais flexíveis.

  • Um programa deve declarar o tamanho de array quando ele é criado. Diferente do Visual Basic,  o C# não deixa você mudar o tamanho do array após está definido. E se você não souber de que tamanho ele precisa ser?
  • Inserir ou remover um elemento no meio de um array é loucamente ineficiente. Você tem que mover todos os elementos ao redor para abrir espaço. Em um Arrays grande, isso pode ser um trabalho enorme, consumidor de tempo.
A maioria das coleções por outro lado, tornam muito mais fácil adicionar, inserir ou remover elementos, e você  pode redimensiona-lo quando precisar, direto no fluxo de dados. Na verdade, eles geralmente cuidam do redimensionamento automaticamente.

Mas Arrays e coleção tem alguma coisa em comum:
  • Cada um pode conter elemento de um e apenas um tipo. Uma vez especificado o tipo não pode ser modificado.
  • Assim como com Arrays, você pode acessar a maioria das coleções com sintaxe tipo Arrays usando colchetes para especificar um índice: mylist[3] = "Joe". 
  • Tanto coleção quanto Arrays tem métodos e propriedades. Assim para encontrar o número de elementos no seguinte arrays smallPrimeNumbers, você chama sua propriedade Length:
var smallPrimeNumbers = new [] {2,3,5,7,11,13};                                                                                      
Enquanto que com um Coleçaõ você chamasua propriedade Count:
List<int> smallPrimeNumbers = new List<int>{2,3,5,7,11,13};                                                                   
int numElements = smallPrime.Count; // coleção tem uma propriedade cout                                                 


Veja o vídeo abaixo sobre Lista:


Nenhum comentário:

Postar um comentário