C# Hashtable com exemplos
O que é Hashtable em C#?
Uma tabela de hash é uma coleção especial usada para armazenar itens de valor-chave. Então, em vez de armazenar apenas um valor como pilha, lista de arrays e fila, a tabela de hash armazena 2 valores. Esses 2 valores formam um elemento da tabela de hash.
Abaixo estão alguns exemplos de como os valores de uma tabela de hash podem se parecer.
{ "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 com mais detalhes.
Declaração da tabela de hash
A declaração de uma Hashtable é mostrada abaixo. Uma Hashtable é criada com a ajuda do Hashtable Datatype. A palavra-chave “new” é usada para criar um objeto de uma Hashtable. O objeto é então atribuído à variável ht.
Hashtable ht = new Hashtable()
Adicionando elementos à tabela de hash
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 de hash é composto por 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 abaixo mencionado será gravado em nosso aplicativo de console.
O código será gravado 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 como podemos criar um hashtable , adicionar elementos ao hashtable 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 “New”. O nome da variável definida é ‘ht’.
-
Em seguida, adicionamos elementos à tabela de hash usando o método Add. Lembre-se de que precisamos adicionar um elemento chave e valor ao adicionar algo à tabela de hash.
-
Não há uma maneira direta de exibir os elementos de uma tabela de 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 dados 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 tabela de hash à variável 'keys'.
-
Em seguida, para cada valor de 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.
Saída:
Vejamos mais alguns métodos disponíveis para tabelas de hash.
Contém Chave
Este método é usado para ver se uma chave está presente na Hashtable. Abaixo está a sintaxe geral desta instrução. A instrução retornará true se a chave existir, senão retornará o valor false.
Hashtable.Containskey(key)
Contém valor
Este método é usado para ver se um valor está presente na tabela de hash. Abaixo está a sintaxe geral desta instrução. A instrução retornará true se o Value existir, caso contrário, retornará o valor false.
Hashtable.ContainsValue(value)
Exemplo 2:
Vamos alterar o código em nosso aplicativo de console para mostrar como podemos usar o método “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á true se a chave estiver presente na tabela de hash. Esse método deve retornar true, 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á 'true', 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.
Saída:
A partir da saída, você pode ver claramente que a chave e o valor pesquisados estão presentes na tabela de hash.
Resumo
Uma Hashtable é usada para armazenar elementos que consistem em pares de valores-chave. Para acessar o valor de um elemento, você precisa saber a chave do elemento.
Linguagem C
- Expressões, instruções e blocos em C# (com exemplos)
- C++ do… while loop com exemplos
- Ponteiros C++ com exemplos
- Tipo de dados C++ Char com exemplos
- Sobrecarga do operador C++ com exemplos
- Funções C++ com exemplos de programas
- Tutorial de coleções de C# com exemplos
- Python String count() com EXEMPLOS
- Função Python round() com EXEMPLOS
- Função Python map() com EXEMPLOS