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

O que acontece com o cérebro no exato momento em que morremos

O que passa em nossa cabeça no momento da morte? Não se sabe exatamente e, embora os cientistas tenham alguma resposta, a resposta continua sendo um grande mistério. Além de difícil solução, tentar respondê-la pode criar implicações éticas. No entanto, uma equipe de cientistas da Universidade...

Ler Notícia Completa

Operada e devolvida ao útero, menina que nasceu duas vezes hoje 'acorda sorrindo toda manhã'

Um bebê pode nascer duas vezes? Não é o caso da absoluta maioria das crianças, mas foi assim para a pequena Lynlee Boemer. Em outubro de 2015, sua mãe, Margaret Boemer, descobriu que estava grávida de gêmeos. Ela sofreu um aborto espontâneo, mas um dos bebês sobreviveu. Com dez semanas de ges...

Ler Notícia Completa

Médicos dizem estar perto de chegar a exame de sangue para todos os tipos de câncer

Cientistas dizem que estão mais perto de criar um exame de sangue universal, capaz de identificar todos os tipos de câncer. Estudo conduzido com 1.005 pacientes por uma equipe da Universidade Johns Hopkins, dos Estados Unidos, testou um método que detecta oito tipos de proteínas e 16 mutações ge...

Ler Notícia Completa

Formato JPEG está com os dias contados

Há quantos anos você ouve falar em arquivos JPG? O formato já era utilizado nos primórdios da web comercial nos anos 1990, vivendo há mais de 20 anos como o principal método de compressão de imagens do público. No que depender de Google, Mozilla e outras empresas, isso pode mudar dentro de algum...

Ler Notícia Completa

EUA aprovam 'droga viva', 1ª terapia contra câncer que reestrutura sistema imunológico do paciente

Os Estados Unidos aprovaram o primeiro tratamento que reestrutura o sistema imunológico do paciente para atacar o câncer. A agência reguladora de medicamentos do país - a FDA - diz que a decisão foi um momento "histórico" e que a medicina agora "entra em uma nova fronteira". A companhia Novar...

Ler Notícia Completa

Cientistas norte-americanos criaram anticorpo capaz de atacar 99% das variações de HIV

Um grupo formado por pesquisadores do Instituto Nacional de Saúde (NIH), dos Estados Unidos, e da empresa farmacêutica Sanofi criaram em laboratório anticorpos superdesenvolvidos capazes de atacar 99% das cepas de HIV. O feito é ainda mais significativo por ser capaz até mesmo de prevenir a infec...

Ler Notícia Completa

Facebook investirá mais de US$ 1 bilhão em conteúdo original em 2018

Anunciada em agosto, a plataforma original de vídeos do Facebook, Watch, parece ser a grande aposta de Mark Zuckerberg para o ano que vem. De acordo com o TechCrunch, a empresa deve investir US$ 1 bilhão para criar e incentivar iniciativas voltadas para a produção de conteúdo audiovisual exclu...

Ler Notícia Completa

Software da Adobe é capaz de manipular gravações de voz e criar frases com perfeição

O software se chama Voco, foi desenvolvido pela Adobe (a mesma criadora do Photoshop) e permite manipular gravações de voz com uma precisão inédita, inclusive criando frases que a pessoa não disse. Na demonstração do app, um técnico forjou uma gravação em que um homem dizia “eu beijei a Jordan...

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