C# - Como criar um Hastable

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:

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

Vamos agora adicionar valores ao "meuHash":

meuHash.Add("Codigos", "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:

Para pegar a 2ª linha utilizamos:

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

Saída no prompt
Nesta seção você encontrará diversas dicas de nível básico ao avançado

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

meuHash.ContainsKey("Codigos") - esta propriedade verifica se eu adicionei um valor ao meu Hashtable cuja chave é "Codigos". Retornando 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");

Exemplo:

Console.WriteLine("Meu hash tem Códigos? - {0}", meuHash.ContainsKey("Codigos"));
if(meuHash.ContainsKey("Codigos"))
{
meuHash.Remove("Codigos");
}
Console.WriteLine("Meu hash tem Códigos? - {0}", meuHash.ContainsKey("Codigos"));

Saída no prompt

Meu hash tem Códigos? - True
Meu hash tem Códigos? - False


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

Autor: Emmanuel

Procurar neste site . . .