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:
Colocarei um exemplo completo abaixo, vejam:
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.
A execução desse código seria:
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 usá-lo da seguinte forma:
bool verificaChave = dicionario.ContainsKey("Estado");
Ou também podemos incorporá-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.
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:
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:
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:
O código acima geraria a seguinte saída:
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:
Agora a saída será:
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.
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.
Você Sabia?
Nintendo Entertainment System

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.
Ultima Online

Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras
Galaxy Game

As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
River Raid

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.
Duck Hunt

Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".










