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?
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
ENIAC
O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.
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.
Máquina de Pascal
A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.
Mario e seu bigode
O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.
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.
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.
Street Fighter 2
Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.
Mortal Kombat - O Filme
O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.
Donkey Kong
A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.
Inteligência artificial
O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.
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.