Desenvolvimento - Visual Basic .NET

ASP.NET - Usando a classe HashTable

Vamos criar um projeto ASP.NET e mostrar como usar uma HashTable. O nosso projeto irá exibir a tabela de classificação do campeonato de futebol (estou usando somente alguns times) ...

por José Carlos Macoratti



As linguagens mais modernas de programação fornecem o suporte a algum tipo de objeto que pode gerenciar um número variável de elementos. Estes objetos são conhecidos como coleções e podem ter elementos incluídos e excluídos facilmente sem a preocupação com a alocação de memória. No velho ASP o objeto Dictionary era uma objeto do tipo coleção - collection - que referenciava cada elemento usando uma chave textual. Uma coleção que armazena objetos é conhecida como uma tabela hash ou hash table.

A .NET Framework fornece uma poderosa classe HashTable.

Uma HasTable é uma coleção onde os elementos possuem chave/valor , e onde cada elemento é indexado usando uma chave alfanumérica.

Ao trabalhar com a classe Hastable tenha em mente que a ordenação dos elementos na coleção é independente da ordem na qual ele entrou na tabela . A classe emprega seu próprio algorítimo hash para ordenar de forma eficiente os pares chave/valor da coleção.

Vamos criar um projeto ASP.NET e mostrar como usar uma HashTable. O nosso projeto irá exibir a tabela de classificação do campeonato de futebol (estou usando somente alguns times ). Primeiro teremos uma relação dos times e depois vamos excluir dois times para exibir a classificação final. O projeto irá usar os seguintes componentes:

  • DataGrid - id igual a dgtimes
  • Label - id igula a lbltimes

Vejamos um código de exemplo de uso da classe HashTable. O arquivo HashTable.aspx

para incluir um elemento . Necessita de dois parâmetros : o primeiro uma chave alfanumérica que irá referenciar o elemento e o segundo o elemento. Ex: htTimes.Add("Cruzeiro", 97)

Remove - Para remover um elemento. Precisa somente de um parâmetro : a chave alfanumérica que identifica o elemento

Clear - Para remover todos os elementos da Tabela Hash.

Containskey - Verifica se um elemento existe. Recebe um parâmetro : a chave do elemento. Se o elemento existir o retorno é True caso contrário False.

ContainsValue - Verifica se um elemento existe. Recebe um parâmetro do tipo objeto e verifica na tabela se existe um elemento que contém o valor informado.

A classe HashTable expõe duas coleções como propriedades : Keys and Values.
  • A coleção Keys é uma coleção de todos valores das chaves na tabela.
  • A coleção Values é uma coleção de todos os valores dos elementos na tabela.

Na linha de código dgtimes.DataSource = htTimes.Keys a propriedade DataSource do datagrid é definida como sendo a coleção Keys da HashTable . Como a propriedade Keys retorna uma interface ICollection ela pode ser vinculada ao datagrid.

E é isto ai...

Até o próximo artigo ASP.NET...

José Carlos Macoratti

José Carlos Macoratti