Criando um HashTable em C#

 

Inicialmente, deveremos fazer a chamada ao namespace que contém a declaração da classe Hashtable:

 

using System.Collections;

 

Após a chamada, poderemos utilizar um objeto do tipo Hashtable. Agora, vamos criar o objeto e adicionar valores a minha nova Hashtable;

Criação do Objeto

Hashtable meuHash = new Hashtable(); // instanciando o objeto meuHash como do tipo Hashtable

meuHash.Add("Códigos", "Seção que você encontrará diversos códigos para download");

meuHash.Add("Dicas", "Nesta seção você encontrará diversas dicas de nível básico ao avançado");

meuHash.Add("Serviços", "Diversos serviços gratuitos e de qualidade");

 

Pronto. Já criamos nosso objeto Hashtable e adicionamos valores a ele. Agora vamos Lê-los. Você já deve ter utilizado arrays em c# ou em outra linguagem de programação, e para acessar um valor contido neles você deveria informar um ‘index’ que referencia ao desejado.

No Hashtable funciona de forma parecida, mas sua diferença é que você pode acessar um valor passando também a sua chave. Veremos a seguir:

 

Anteriormente, adicionamos os seguintes valores:

meuHash.Add("Códigos", "Seção que você encontrará diversos códigos para download");

meuHash.Add("Dicas", "Nesta seção você encontrará diversas dicas de nível básico ao avançado");

meuHash.Add("Serviços", "Diversos serviços gratuitos e de qualidade");

 

Para pegar a 2ª linha utilizamos:

meuHash["Dicas"].ToString();     //pegando o valor e convertendo para string

 

Vamos utilizar agora uns comandos interessantes para manipulação de Hashtables:

 

meuHash.ContainsKey("Códigos")

 

Essa propriedade verifica se eu adicionei um valor ao meu Hashtable cuja chave é “Códigos”. Reotornando True se achar e False, caso contrário. Utilizando o comando anterior, podemos excluir um valor adicionado ao meu Hash, utilizando a propriedade Remove(“Chave”);

 

Console.WriteLine("Meu hash tem Códigos? – ", meuHash.ContainsKey("Códigos"));

If(meuHas.ContainsKey("Códigos"))

{

  meuHash.Remove("Códigos");

}

Console.WriteLine("Meu hash tem Códigos? – ", meuHash.Containskey("Códigos"));

 

Meu hash tem Códigos? – True

Meu hash tem Códigos? – False

 

É importante lembrar que você pode utilizar a propriedade Constais* para verificar se existe algo definido a partir de uma chave no Hashtable ou através de um valor. Para isto, utilize a propriedade ConstainsValue[“Valor”];