🤔 Para Refletir :
"Fazer um jogo é sempre muito mais difícil do que jogar um jogo..."
- Rafael_Sol_MAKER

Listas - C#

Mayleone Feminino

Conde
Membro
Membro
Console.Write("Hello World!");
Juntou-se
25 de Outubro de 2016
Postagens
267
Bravecoins
3.095
depositphotos_47521377-stock-illustration-cartoon-businessman-with-checklist-paper.jpg

O que são listas?
Se você leu a aula sobre arrays, você vai se familiarizar com as listas rapidamente, pois são estruturas muito similares em C#.
Lista ou List, é mais um mecanismo de coleções que temos em linguagem de programação, onde nos permite acessar e ler objetos tipados e também valores, inseridos dentro dela.
Assim como arrays, as listas também possuem propriedades e métodos que podem auxiliar em sua manipulação ou leitura, e um índice que determina onde cada elemento se encontra dentro da mesma.
Em termos de comparações, uma lista está muito mais próxima a um vetor do que uma matriz, pois possui apenas um índice de acesso, porém, uma de suas principais características é poder se reajustar ao tamanho do seu conteúdo inserido.

Como definir uma lista?
A definição de listas é muito similar ao de vetores,  porém, você precisa especificar que o que você está criando é uma lista de fato, ao incluir a palavra "List" no início de sua definição.
Você também precisa especificar o tipo de conteúdo que será armazenado na lista, só que diferente das variáveis ou arrays, o tipo é inserido dentro destes limitadores: <>.
Uma lista precisa de um nome para ser tido como referência de acesso e leitura, e assim como arrays precisa de uma instanciação.
Veja como definir uma lista de strings, comparando-se à definição de um vetor de mesmo tipo:

Untitled%2B1.png


Perceba que normalmente precisamos definir um tamanho para arrays, ou seja, quantos elementos ela poderá armazenar. No caso do exemplo, serão 10.
Mas veja que na lista não precisamos especificar este tamanho. Essa é a grande diferença (e também "vantagem") que temos entre as listas e arrays. Enquanto num array normalmente você precise definir seu tamanho, as listas não tem essa necessidade, mesmo porque, como já dito, elas se reajustam de acordo com a quantidade de elementos que você irá inserir.

Como adicionar valores em uma lista?
Para adicionar algum conteúdo em sua lista, você deve referenciá-la, ou seja, especificar seu nome, e utilizar um método chamado "Add". Através deste comando, você pode adicionar um valor dentro da sua lista, sem se preocupar com seu índice. Veja um exemplo:

Untitled%2B2.png


Você pode ler um valor da lista utilizando o mesmo artifício que faz com arrays: Referenciar a lista que deseja manipular e especificar seu índice através dos colchetes (Os índices de listas também iniciam em zero!)

Untitled%2B4.png


Perceba que se você debugar o código, o valor de saída exibido em console será "Mayara", que é o elemento do índice 1 na lista "nomesLista".

Também é possível alimentar a lista de forma dinâmica através de laços de repetições, como neste exemplo, onde o usuário deve informar o nome de funcionários até que a letra 'N' seja digitada:

Untitled%2B5.png


Note que como estamos utilizando o laço "while", a quantidade de vezes que esta repetição irá executar é variável, dependendo da vontade do usuário. Por conta disso, é possível notar que independentemente da quantidade de vezes que o usuário digitar um nome de funcionário, a lista vai se ajustar à essa quantidade de elementos inseridos.
Para saber quantos elementos temos dentro de uma lista (ou seja, seu tamanho atual), utilize o método "Count":

Untitled%2B7.png


O que será exibido será isto:

Untitled%2B6.png


Iteração com laços:

Também como arrays, é possível realizar uma iteração dinâmica entre listas e laços, tanto para ler seu conteúdo, quanto para manipulá-los.

Seguindo o exemplo da lista de funcionários, podemos agora exibir o conteúdo dessa lista através dos laços de repetições "for" e também "foreach", veja como fazer de ambas maneiras:

Untitled%2B9.png


Untitled%2B10.png


O resultado em console será o mesmo, por exemplo:

Untitled%2B8.png


Checar valores ou removê-los:
Lembra-se que eu disse que as listas possuem propriedades e métodos interessantes que podem ser executados em conjunto? Pois então, um deles é o método "Contains", que verifica se determinado valor existe em sua lista:

Untitled%2B11.png


No exemplo acima, eu fiz uma iteração entre o laço for e a lista, adicionando à ela os incrementos do contador da repetição, ou seja, dentro dessa lista temos números de zero à 100.
Depois disso, eu desejo verificar se na lista contém o valor 200.
A saída em console é esta:

Untitled%2B12.png


Essa mensagem é exibida porque na lista, como já dito, temos valores apenas de zero à 100, o valor 200 não se encontra, e na condição estamos verificando se este valor existe na lista, e como não existe, ele vai executar o "else".
Tente agora alterar o limite do laço de 100 para 500, por exemplo e teste novamente o código. A saída agora é esta:

Untitled%2B13.png

Você pode também remover valores de sua lista, basta utilizar o método "Remove":

Untitled%2B14.png


Note que foi criada uma lista do tipo "char" que inicia com três valores: "A", "B" e "C", depois eu realizo uma iteração com o laço para exibir esses conteúdos e o índice onde eles estão.

Após isso eu removo o valor "A" da lista e novamente exibo os valores dentro da lista, veja que interessante que ocorre com seus índices:

Untitled%2B15.png


Veja que inicialmente o caractere "A" se encontrava no índice 0 da lista, e após sua remoção, quem acaba ocupando esta posição no índice seria o seu sucessor, ou seja, "B".
Aqui está mais uma vez provado que a lista se ajusta de acordo com a quantidade de elementos inseridos a ele, tanto em relação a adições quanto em relação a remoções.

Para limpar uma lista por completo, ou seja, eliminar TODOS os elementos da mesma, você pode utilizar o método "Clear()".

As listas são mecanismos muito interessante e excelentes de coleções em C#, portanto possuem diversos métodos e propriedades inteligentes e ótimas. Para ter acesso a todas elas, visite o site oficial da Microsoft sobre listas, onde cada método e propriedade das mesmas são explicados: https://msdn.microsoft.com/pt-br/library/6sh2ey19(v=vs.110).aspx

Final:
É isso, então! Aqui você aprende o básico sobre listas! Espero que tenham gostado e acima de tudo, que tenham entendido o conteúdo.
Aqui no blog temos vários exemplos de como utilizar as listas e suas propriedades em aplicações práticas! Não deixe de treinar!
 
Voltar
Topo Inferior