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?
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".
Tetris

O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Cuidados com o notebook

Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Senhas

Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Computadores de 1,5 tonelada

Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.










