Hoje, vamos ver, como hashtables trabalham em C #. Hashtables não são nada além de que coleções de pares chave-valor.
Vamos ver em detalhes neste artigo, então vamos começar.
Introdução
Hashtable é um conjunto de pares de valores-chave, que são organizadas no hash de suas respectivas chaves.
Quando você adiciona um elemento, ele é adicionado à tabela hash e seu código de hash correspondente é gerado automaticamente. Aqui, estamos usando as chaves para acessar esses hashcodes.Hashtable otimiza a pesquisa com a ajuda das chaves.
Utilização
Podemos utilizar o hash da seguinte maneira:
// Sintax básica Hashtable at=new Hashtable(); //adicionar uma chave at.Add("1","Valor");
1 é a chave com os seu respectivo valor.
Agora, você tem que usar um loop para exibir os elementos, caso queira listá-los.
Para recuperar os elementos através da tabela hash, iremos utilizar usar um dicionário de entrada ou comumente chamado DictionaryEntry.
foreach(DictionaryEntry e in ht) { Console.WriteLine("{0}, {1}", e.Key, e.Value); }
Veja alguns exemplos:
//checando uma chave ht.ContainsKey(1); //checando um valor específico //lembrando de utilizar cast para o tipo de objeto int value = (int)ht["One"];
Propriedades de Hashtable
Chaves: Obtém um ICollection que contém as chaves no Hashtable.
Valores: Obtém um ICollection que contém os valores na tabela de hash.
Casting em Hashtable
Podemos usar o “as” operador para tentar converter um objeto para um tipo de referência específico. Ele retorna verdadeiro ou falso.
Para armazenar as chaves em uma lista de matriz, você pode usar a propriedade chaves de Hashtable. Por exemplo:
ArrayList al = new ArrayList(ht.Keys) // recuperando elementos do array foreach(int key in al) r { Console.WriteLine(Key); }
Vantagem de utilizar Hashtable
Hashtable permite que o tempo de execução para a pesquisa, recuperação e definção permaneça quase constante, mesmo para os grandes conjuntos.
Nos grandes conjuntos de dados, uma tabela de hash possui capacidade de localizar o produto rapidamente.
Não há necessidade de percorrer todos os dados conjuntos para encontrar os itens.
Por exemplo, podemos criar uma instância do Hash e acrescentar quatro elementos nele.
Posteriormente, mostramos todos os elementos na tabela de hash e as chaves dadas à lista de matriz para conter todas as chaves de Hashtable e, finalmente, de imprimi-lo.
using System; using System.Collections; namespace hasthtab { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("1", "Jhow"); ht.Add("2", "Codigosimples"); ht.Add("3", "Maria"); ht.Add("4", "Joaquim"); ICollection key = ht.Keys; Console.WriteLine("Recuperando elementos: "); Console.WriteLine(); foreach(var k in key) { Console.WriteLine(k + ":" + ht[k]); } ArrayList al = new ArrayList(key); Console.WriteLine("Recuperando todas as chaves no array"); Console.WriteLine(); foreach(var n in al) { Console.WriteLine(n); } Console.ReadKey(); } } }
Por hoje é só pessoal! Um grande abraço a todos!