As listas são uma ferramenta incrivelmente útil para armazenar dados diversos. Nós podemos pensar em uma lista como sendo um vetor capaz de armazenar quaisquer tipos de dados, mas com uma enorme vantagem: quando criamos um vetor, devemos informar o seu tamanho, mas nas listas isso não é necessário. Ela pode aumentar ou diminuir de tamanho automaticamente de acordo com a inserção ou remoção de conteúdo. Vamos começar com um exemplo bem simples de uma lista para armazenar números inteiros.

Listas - C#

Add

Agora vejam como é simples inserir valores nela. Colocarei a seguinte sequência de números, cada um em uma posição: 16, 5, 23, 19.

Listas - C#

Para fazer a utilização desses valores, o procedimento é semelhante. Vou exibir no Console o valor da segunda posição (sempre lembrando que começamos a contar a partir da posição zero).

Vou inserir o seguinte comando para a exibição dessa posição:

Console.WriteLine(minhaLista[2]);

Console.ReadLine();

Vejamos como será a saída:

Listas - C#

A posição 2 solicitada é a terceira inserida, portanto a que contém o valor 23.

Contando os itens de uma Lista

Existe um comando extremamente útil que nos retorna um número inteiro contendo a quantidade de itens em uma Lista. Trata-se do Count. Ele pode ser útil, por exemplo, dentro de um comando For, para que saibamos quando determinar a condição de parada. Vejam como ficaria na prática:

Listas - C#

A saída será:

Listas - C#

Conseguimos imprimir na tela todos os objetos contidos em minhaLista.

Removendo um item da Lista

Para remover um objeto presente em uma Lista é muito simples. Só precisamos substituir o comando Add pelo Remove e passar como parâmetro o item que desejamos excluir.

Listas - C#

A saída agora ficará:

Listas - C#

Notem que na segunda impressão da lista, após o espaço em branco, o número 5 não está mais presente, o que significa que a remoção aconteceu com sucesso.

Removendo itens de uma Lista através do índice

Outra forma de remover um item de uma Lista é através do seu índice. Isso é feito de maneira bastante semelhante ao processo exibido acima, mas no lugar de Remove usaremos o RemoveAt, passando como parâmetro o índice que desejamos remover.

Listas - C#

Vejamos a saída.

Listas - C#

Notem que na segunda exibição da Lista o número 16 não está mais presente.

Invertendo os itens de uma Lista

Outro comando interessante é o Reverse, que inverte totalmente uma lista. Vejam sua utilização abaixo:

Listas - C#

A execução agora terá a seguinte saída:

Listas - C#

Agora a ordem dos elementos está invertida.

Descobrindo a média aritmética dos itens de uma Lista numérica

Outro comando interessante das listas é o Average, que nos retorna a média aritmética dos elementos presentes. Vamos testá-lo.

Listas - C#

Agora vamos verificar a saída e a impressão da variável média:

Listas - C#

Aí está o cálculo correto realizado pela função.

Procurando itens em uma Lista

Até aqui vimos como inserir e remover objetos de uma Lista, invertê-la, calcular a média e, como próximo parâmetro, vamos ver como procurar um valor na lista, que é uma função de grande importância.

O comando responsável por isso é o Contains. Vejam como funciona:

Listas - C#

No exemplo acima pedi ao Contains que procure o elemento 5 dentro da Lista. Esse elemento existe, portanto devemos receber true como retorno. Vejamos se isso acontece:

Listas - C#

De fato a função retornou True, pois o elemento existe. Se não existisse receberíamos False como retorno.

Descobrindo a posição de um elemento em uma Lista

Além de saber se um elemento existe, pode ser importante saber em qual posição da Lista ele se encontra. Essa informação também é fácil de ser conseguida através do método IndexOf. Sua sintaxe é:

Listas - C#

Vejamos a execução:

Listas - C#

O programa retornou a posição 3, que é, de fato, o local em que o item 19 se encontra. Apenas para ilustrar, segue abaixo a execução de um código com um número inexistente na Lista:

Listas - C#

Ordenando itens de uma Lista

Outra opção que pode ser interessante é ordenar os itens de uma Lista, seja para exibi-los, gravar num banco, enfim, não importa. Seja lá qual for sua razão, se precisar ordenar os itens, deverá fazê-lo utilizando o método Sort. Segue abaixo um exemplo:

Listas - C#

Vejam a saída com a lista já ordenada:

Listas - C#

Aí está nossa Lista corretamente ordenada.

A última importante observação que faço é que dei todos os exemplos com números inteiros, mas poderíamos ter criado listas com outros tipos, por exemplo com números double:

Listas - C#

E como é possível perceber na imagem acima, o comando Sort também pode ser aplicado a esse tipo de dado sem qualquer problema. Abaixo temos a impressão da nossa lista do tipo double devidamente ordenada:

Listas - C#

Agora vamos criar uma lista do tipo String:

Listas - C#

Nossa lista agora será:

Listas - C#

Armazenando objetos em uma Lista

Como deu para perceber, as listas aceitam diversos tipos de itens. É possível, inclusive, criar uma classe qualquer e armazenar as instâncias dessa classe em uma lista. Criarei uma classe "Aluno" como exemplo:

Listas - C#

Agora adicionarei instâncias dessa classe em uma lista, da seguinte forma:

Listas - C#

Dessa forma teremos uma lista contendo objetos do tipo "Aluno".

Bem, estas foram, na minha opinião, as mais importantes funções relacionadas às Listas, mas existe muito mais! Basta dar uma olhada no IntelliSense do Visual Studio para perceber que se pode fazer praticamente de tudo com listas. Elas são realmente úteis!


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.