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? – {0}", meuHash.ContainsKey("Códigos"));
If(meuHas.ContainsKey("Códigos"))
{
meuHash.Remove("Códigos");
}
Console.WriteLine("Meu hash tem Códigos? – {0}", 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”];