Minicursos - C#

Dicionários


Se começarmos a folhear um dicionário veremos que existe um padrão em todos os verbetes presentes nele. Teremos sempre uma palavra e um significado associado, correto? Pois bem, com os dicionários em C# acontece exatamente a mesma coisa. Os dicionários podem ser vistos como listas que armazenam pares de valores. Esses valores são identificados através de uma chave, portanto o par é sempre formado por chave e definição. Caso você precise criar pequenas definições ou valores que deverão ser acessados várias vezes dentro do código, como dados inseridos pelo próprio usuário, pode fazer uso dos dicionários. A criação de um dicionário é muito simples e o seu comando é:

Dictionary <Tkey, Tvalue> nomeDicionario = new Dictionary <Tkey, Tvalue>

Onde Tkey é o tipo de dado usado para a chave do dicionário e Tvalue é o tipo do valor que será associado a essa chave. Ilustrando seria:

Dicionários - C#

Colocarei um exemplo completo abaixo, vejam:

Dicionários - C#

Aqui criei um dicionário para armazenar valores do tipo String e com chaves desse mesmo tipo.

Para acessar os valores armazenados basta que saibamos a chave, pois o comando é bastante simples. Vou demonstrar abaixo já fazendo uma impressão do mesmo no Console.

Dicionários - C#

A execução desse código seria:

Dicionários - C#

Como foi possível observar, o programa buscou no dicionário a chave “Cidade” e imprimiu seu valor associado.

Procurando chaves em um dicionário

Existe um comando muito interessante, que nos permite buscar por chaves dentro de um dicionário. Isso pode ser importante, pois, se você solicitar uma chave inexistente, um erro será gerado. Esse comando é o ContainsKey. Ele retorna um valor booleano, que é true quando a chave existe, e false em caso contrário.

Podemos usa-lo da seguinte forma:

bool verificaChave = dicionario.ContainsKey("Estado");

Ou também podemos incorpora-lo a um comando if e fazer a impressão somente se o valor existir, evitando assim que erros sejam gerados pela ausência da chave.

Dicionários - C#

Não por acaso eu criei uma chave chamada “Descricao” e vinculei a ela um valor bem longo, para demonstrar que isso é possível com os dicionários. Vejam a saída:

Dicionários - C#

Removendo itens de um Dicionário

Bem, agora que já vimos como adicionar itens a um dicionário, vamos ver como removê-los. É muito simples, vejam o comando abaixo:

dicionario.Remove("Usuario")

Com esse simples comando podemos remover um par (chave/valor) do dicionário bastando que saibamos a chave. O interessante é que esse comando também nos retorna um booleano, portanto é possível associarmos o Remove com uma verificação e até exibir essa confirmação ao usuário, vejam o exemplo abaixo:

Dicionários - C#

Exibindo todas as chaves de um dicionário

Caso queira exibir todas as chaves de um dicionário, o parâmetro nomedicionario.Keys deve ser usado. É bastante simples, vejam o exemplo abaixo:

Dicionários - C#

O código acima geraria a seguinte saída:

Dicionários - C#

Poderíamos também querer trabalhar apenas com os valores dos dicionários, então o comando teria uma pequena diferença em relação ao anterior, ficando da seguinte forma:

Dicionários - C#

Agora a saída será:

Dicionários - C#

Assim como acontece com as listas, nos dicionários você consegue manipular os dados de praticamente todas as maneiras que imaginar. Existem métodos para contar quantos pares (chave/valor) o dicionário possui, que é o comando Count, podemos ordenar os pares de forma ascendente ou descendente com o OrderBy, podemos inverter com o Reverse, descobrir a posição de um par com o Where, e, por último mas não menos importante, vale lembrar que é possível armazenar objetos (instâncias de classes) em dicionários. Como vocês puderam notar, praticamente o céu é o limite para o armazenamento de dados em dicionários. Outra ponto positivo interessante é que o acesso aos dicionários é feito de forma muito mais rápida do que em um banco de dados, então caso precise armazenar temporariamente alguns valores, ele passa a ser uma boa sugestão.



Algumas notícias

As memórias DDR5 estão chegando e trarão muitas melhorias

A próxima geração de memórias RAM já possui especificações definidas e promete grande melhoria em relação às atuais DDR4. E o mais importante: mesmo com desempenho bastante superior, elas consumirão menos energia. A tensão de trabalho das memórias DDR5 será de apenas 1.1V contra os 1.2V das atu...

Ler Notícia Completa

Google Chrome consumirá menos memória RAM em breve

O navegador da gigante de buscas da Internet é, sem dúvida, um dos melhores disponíveis, mas é inegável que o consumo de memória RAM por parte dele é exagerado. Este problema já se estende por anos, mas parece que em breve ele terá uma solução. Um novo recurso do Windows 10, chamado SegmentHeap...

Ler Notícia Completa

Sites e vídeos sem propagandas? Sim, é possível através da exploração de uma falha!

Seguramente você já se deparou com sites que bloqueiam o conteúdo da página e te obrigam a assinar determinado serviço para ler o conteúdo, certo? Ou foi tentar assistir aquele vídeo e as propagandas em tela cheia não pararam de surgir. Bem, todos já nos deparamos com isso, no entanto, um bug de...

Ler Notícia Completa

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa

Google lança programa para capacitar profissionais brasileiros e com direito a bolsas

O Google iniciou nesta terça-feira (17) o Certificado Profissional de Suporte em TI para brasileiros. Trata-se de um curso desenvolvido pela gigante de tecnologia em parceria com a Coursera. Inicialmente, o módulo de ensino foi anunciado a um valor de US$ 39 por mês. Entretanto, sofreu uma redu...

Ler Notícia Completa

Intel Core i9-9900KS é um monstro com frequência de 5GHz em todos os núcleos

A Intel é uma das empresas presentes na Computex 2019, a maior feira de hardware da Ásia. E a empresa começou a esquentar os motores antes mesmo do início das conferências, exibindo um processador que não está para brincadeira: o Intel Core i9-9900KS, uma edição especial e ainda mais turbinada do...

Ler Notícia Completa
Você gostará destes vídeos!