Entendendo o uso da classe Dictionary
Neste artigo, será demonstrado como se usar o dictionary no C#, o qual é formado por chave/valor. Nesse formato, ele é muito útil para se encontrar valores com base em uma chave ou chaves com base em um valor, sem precisar usar funções de filtros ou condições IFs.
Os exemplos a seguir serão simples, apenas para se entender como funciona a manipulação dos dictionary, porém haverá outro post com o uso mais avançado do mesmo.
//Cria um dictionary com a chaves sendo do tipo Int e o valores do tipo String Dictionary<int, string> dicionario = new Dictionary<int, string> { { 1, "Elemento da Posicao 1" } }; //Adiciona novos elementos ao dictionary dicionario.Add(2, "Elemento da Posição 1"); dicionario.Add(10, "Item 10"); //Obtém o valor da chave número 2 string valor = dicionario[2]; Console.WriteLine($"Valor da chave 2: {valor}"); //Confere a existência de uma chave Console.WriteLine($"Verifica se existe a chave no dicionário: {dicionario.ContainsKey(1)}"); //Confere a existência de um valor Console.WriteLine($"Verifica se o valor 'Item 10' no dicionário {dicionario.ContainsValue("Item 10")}"); //Obtém o tamanho do dictionary Console.WriteLine($"Quantidade de elementos no dicionário: {dicionario.Count}"); //O comando dicionario.Keys exibe as chaves do dictionary Console.WriteLine($"Chaves do dicionário: {string.Join(",", dicionario.Keys)}"); //O comando dicionario.Values exibe as chaves do dictionary Console.WriteLine($"Valores do dicionário: {string.Join(",", dicionario.Values)}"); //Remove a chave de valor 2 dicionario.Remove(2); Console.WriteLine($"Nova quantidade de elementos: {dicionario.Count}"); Outputs: // Valor da chave 2: Elemento da Posicao 1 // Verifica se existe a chave no dicionário: True // Verifica se o valor 'Item 10' no dicionário True // Quantidade de itens no dicionário: 3 // Chaves do dicionário: 1,2,10 // Valores do dicionário: Elemento da Posicao 1,Elemento da Posicao 1,Item 10 // Quantidade de itens no dicionário: 2
Conclusão
A princípio, o uso do dictionary é muito parecido com o uso do List, porém, com o dictionary podemos encontrar valores/chaves mais facilmente, além de se poder criar objetos dinâmicos e converte-los para JSON, o que facilita muito a comunicação com uma API.