Minicursos - C#

Listas


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 testa-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!



Algumas notícias

Xiaomi 12 Ultra poderá ter câmera de incríveis 200MP

Um recente vazamento de dados ocorrido na rede social Weibo mostrou que a Xiaomi estaria trabalhando em um novo modelo top de linha, o Xiaomi 12 Ultra, com um sensor de poderosíssimos 200MP de resolução. Rumores já haviam sido trazidos à tona sobre essa possibilidade, inclusive com a suspeita de...

Ler Notícia Completa

Google Pixel 5a está superaquecendo durante as gravações de vídeos

Os boatos iniciais de que o novo celular da Google, o Pixel 5a, superaquecia, parece que se confirmaram. O aparelho é capaz de gravar vídeos em resolução 4K e com taxa de 60 frames por segundo, porém, superaquece a tal ponto que emite mensagem de alerta ao usuário, solicitando o desligamento do...

Ler Notícia Completa

Android 12 permitirá controle do celular através de expressões faciais

A nova versão do sistema operacional do Google, o Android 12, promete trazer uma interessante funcionalidade. Chamada de “Camera Switches”, a função faz parte do conjunto de aplicativos para acessibilidade e permite que, utilizando a câmera frontal do aparelho, o usuário possa executar uma série...

Ler Notícia Completa

Xiaomi revela detalhes e aparelhos que receberão a MIUI 12.5

A Xiaomi divulgou os detalhes da sua nova interface, a MIUI 12.5, que promete trazer correção para mais de 280 problemas atualmente conhecidos pela empresa. A ideia é que a nova versão esteja disponível até o final de agosto em pelo menos 12 modelos de smartphones da Xiaomi. Veja abaixo a rela...

Ler Notícia Completa

Samsung Galaxy F22

Lançado em julho de 2021, o Samsung Galaxy F22 é um aparelho que merece ser considerado por você que não pode gastar muito e não precisa de configurações de hardware top de linha, mas quer um aparelho de boa qualidade. O aparelho vem com processador octa-core (2 x 2Ghz + 6 x 1.8Ghz), opções com...

Ler Notícia Completa

Xiaomi Redmi K40 Gaming

O Redmi K40 Gaming ou Redmi K40 Gaming Edition chegou e ele impõe respeito! Como o próprio nome sugere, ele é voltado ao público gamer, com uma configuração capaz de rodar, sem grandes dificuldades, todos os jogos lançados até então. Com processador octa-core (1 x 3GHz + 3 x 2.6GHz + 4 x 2.0GHz)...

Ler Notícia Completa

Galaxy M42 5G

O Samsung Galaxy M42 5G promete chamar a atenção dentre os celulares intermediários. O aparelho conta com processador octa-core (2 x 2.2GHz + 6 x 1.7Ghz), possui versões com 6 ou 8Gb de memória RAM e 128Gb de armazenamento interno. Seu tamanho, de 6.6 polegadas, e sua tela de Super AMOLED, com...

Ler Notícia Completa

Realme 8 5G

Finalmente a Realme lançou o Realme 8 5G. O aparelho traz um conjunto interessante de componentes, com uma tela generosa de 6.5 polegadas de IPS LCD de 90Hz e resolução de 1080 x 2400 pixels (uma densidade de 405 pixels por polegada), qualidade que atende até aos usuários mais exigentes. O proce...

Ler Notícia Completa

Sony Xperia 10 III

Lançado em abril de 2021, o Sony Xperia 10 III chegou com um design extremamente elegante e configurações poderosas, principalmente no que se refere à gravação de vídeo. Seu conjunto de câmeras triplas (12, 8 e 8MP, sendo a última ultrawide) é capaz de gravar vídeos em 4K com 30fps e exce...

Ler Notícia Completa

Poco X3 GT

Anunciado no mês passado, o Poco X3 GT chegou e tem como alvo inicial o Oriente Médio e Ásia. O aparelho traz uma configuração interessante, com tela IPS LCD de 120Hz com HDR10 de 6.6 polegadas e resolução de 1080 x 2400 pixels. Ele possui três câmeras (64, 8(ultrawide) e 2MP) na parte...

Ler Notícia Completa

Procura por celulares 5G aumenta e preços caem

Um recente levantamento feito pelo Buscapé e o grupo Mosaico apontou que nos últimos 12 meses a procura por celulares 5G aumentou significativamente no Brasil. O aumento ultrapassa os 450% somente no primeiro semestre de 2021. Os preços, nesse mesmo período, sofreram uma redução de 15%. Modelos...

Ler Notícia Completa

Sem câmera aparente, vem aí o Mi Mix 4 da Xiaomi

Ao que tudo indica, o novo modelo top de linha da gigante chinesa Xiaomi será oficialmente anunciado na próxima terça-feira, dia 10/08. Embora a empresa não tenha divulgado detalhes técnicos do aparelho, acredita-se que ele terá câmera sob a tela, sem qualquer entalhe ou furo na parte frontal...

Ler Notícia Completa

Youtube pagará mais de 50 mil reais para criadores de conteúdo do Shorts

O Shorts, recentemente criado pelo Youtube, promete fazer pagamentos generosos a seus criadores de conteúdo. A empresa pretende pagar até US$ 100 milhões nos próximos 12 meses, tudo isso com o objetivo de impulsionar sua nova criação, que, como o próprio nome sugere, são vídeos curtos. As exigên

Ler Notícia Completa

O Windows 365 já chegou - Conheça os valores e detalhes da assinatura

O Windows 365 está disponível para ser assinado aqui no Brasil. Trata-se de uma plataforma que roda na nuvem e que permite a execução tanto do Windows 10 quanto do Windows 11, assim que este último for lançado oficialmente. A assinatura permitirá que você utilize o sistema operacional da Micro...

Ler Notícia Completa

Amazon divulga detalhes do Luna - Seu serviço de streaming de jogos

Na última terça-feira a Amazon deu detalhes sobre seu serviço de streaming de jogos, o Luna. Trata-se de um serviço por assinatura, semelhante ao que faz o Netflix com filmes e séries. Com ele os jogos são trazidos para o seu dispositivo, seja uma TV, computador ou mesmo o iPhone, através da Int...

Ler Notícia Completa

Windows 10 terá modificações no Menu Iniciar

A Microsoft liberou algumas imagens do novo Menu Iniciar, que deverá fazer parte do sistema operacional Windows 10 a partir de 2021. A primeira impressão é de que o objetivo da empresa é tornar o menu mais integrado ao restante da área de trabalho, através de blocos translúcidos, as “Live Tiles”...

Ler Notícia Completa

Alemanha autoriza primeiros testes de vacina contra Covid-19 em humanos

A Alemanha é mais um país a entrar na fase de testes de uma vacina contra a Covid-19 com humanos. O Instituto Paul Ehrlich, que opera como a agência regulatória federal alemã para vacinas e biomedicina, anunciou nesta quarta-feira (22) a autorização para o início dos estudos clínicos, que devem...

Ler Notícia Completa

Dispositivo de apenas 5 dólares detecta o HIV em poucos minutos

Com custo de apenas US$ 5, o pequeno aparelho permite ao usuário fazer o próprio diagnóstico O designer britânico Hans Ramzan criou um dispositivo capaz de identificar o HIV em questão de minutos. O aparelho é de uso simples, barato, e o teste pode ser feito em casa, ajudando na identifcação rá...

Ler Notícia Completa

PlayStation 5 consumirá menos energia que modelos anteriores

Console vai incluir opção que poupa energia no modo de espera O PlayStation 5 vai consumir consideravelmente menos energia que seu antecessor, PlayStation 4. Em publicação no seu blog, a Sony, através do presidente e CEO Jim Ryan, anunciou que está trabalhando com as Nações Unidas na iniciativa...

Ler Notícia Completa

Você sabia?

O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.

A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.

Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.

O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.

Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!