O que é Hashtable em C #?
Uma tabela hash é uma coleção especial usada para armazenar itens de valor-chave. Portanto, em vez de armazenar apenas um valor como pilha, lista de matrizes e fila, a tabela de hash armazena 2 valores. Esses 2 valores formam um elemento da tabela hash.
Abaixo estão alguns exemplos de como podem ser os valores de uma tabela hash.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Acima, temos 3 pares de valores-chave. As chaves de cada elemento são 001, 002 e 003 respectivamente. Os valores de cada par de valores-chave são ".Net", "C #" e "ASP.Net" respectivamente.
Vejamos as operações disponíveis para a coleção Hashtable em mais detalhes.
Declaração do Hashtable
A declaração de um Hashtable é mostrada abaixo. Um Hashtable é criado com a ajuda do Hashtable Datatype. A palavra-chave "novo" é usada para criar um objeto de um Hashtable. O objeto é então atribuído à variável ht.
Hashtable ht = new Hashtable()
Adicionando elementos ao Hashtable
O método Add é usado para adicionar um elemento à fila. A sintaxe geral da instrução é fornecida abaixo
HashTable.add("key","value")
Exemplo 1:
Lembre-se de que cada elemento da tabela hash compreende 2 valores, um é a chave e o outro é o valor.
Agora, vamos ver isso funcionando em um nível de código. Todo o código mencionado abaixo será escrito em nosso aplicativo de console.
O código será escrito em nosso arquivo Program.cs. No programa abaixo, escreveremos o código para ver como podemos usar os métodos mencionados acima.
Por enquanto, em nosso exemplo, veremos apenas como podemos criar uma tabela de hash, adicionar elementos à tabela de hash e exibi-los de acordo.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");ICollection keys = ht.Keys;foreach (String k in keys){Console.WriteLine(ht[k]);}Console.ReadKey();}}}
Explicação do código: -
- Primeiro, declaramos a variável hashtable usando o tipo de dados Hashtable usando a palavra-chave "Novo". O nome da variável definida é 'ht'.
- Em seguida, adicionamos elementos à tabela hash usando o método Add. Lembre-se de que precisamos adicionar um elemento chave e um valor ao adicionar algo à tabela de hash.
- Não há uma maneira direta de exibir os elementos de uma tabela hash.
- Para exibir a tabela de hash, primeiro precisamos obter a lista de chaves (001, 002 e 003) da tabela de hash.
- Isso é feito por meio da interface ICollection. Este é um tipo de dado especial que pode ser usado para armazenar as chaves de uma coleção de hashtable. Em seguida, atribuímos as chaves da coleção de hashtable à variável 'keys'.
- Em seguida, para cada valor-chave, obtemos o valor associado na tabela de hash usando a instrução ht [k].
Se o código acima for inserido corretamente e o programa for executado, a seguinte saída será exibida.
Resultado:
Vejamos mais alguns métodos disponíveis para tabelas de hash.
ContainsKey
Este método é usado para ver se uma chave está presente no Hashtable. Abaixo está a sintaxe geral desta declaração. A instrução retornará true se a chave existir, caso contrário, retornará o valor false.
Hashtable.Containskey(key)
ContainsValue
Este método é usado para ver se um valor está presente na tabela de hash. Abaixo está a sintaxe geral desta declaração. A instrução retornará verdadeiro se o valor existir, caso contrário, retornará o valor falso.
Hashtable.ContainsValue(value)
Exemplo 2:
Vamos alterar o código em nosso aplicativo de console para mostrar como podemos usar os métodos "Containskey" e "ContainsValue".
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");Console.WriteLine(ht.ContainsKey("001"));Console.WriteLine(ht.ContainsValue("C#"));Console.ReadKey();}}}
Explicação do código: -
- Primeiro, usamos o método ContainsKey para ver se a chave está presente na tabela de hash. Este método retornará verdadeiro se a chave estiver presente na tabela de hash. Este método deve retornar verdadeiro, pois a chave existe na tabela de hash.
- Em seguida, usamos o método ContainsValue para ver se o valor está presente na tabela de hash. Este método retornará 'verdadeiro', pois o valor existe na tabela de hash.
Se o código acima for inserido corretamente e o programa for executado, a seguinte saída será exibida.
Resultado:
A partir da saída, você pode ver claramente que a chave e o valor que estão sendo pesquisados estão presentes na tabela hash.
Resumo
- Um Hashtable é usado para armazenar elementos que compreendem pares de valores-chave. Para acessar o valor de um elemento, você precisa saber a chave do elemento.