C # - classe Hashtable

A classe Hashtable representa uma coleção de key-and-value pairsque são organizados com base no código hash da chave. Ele usa a chave para acessar os elementos da coleção.

Uma tabela hash é usada quando você precisa acessar os elementos usando key, e você pode identificar um valor-chave útil. Cada item da tabela hash possui um par chave / valor. A chave é usada para acessar os itens da coleção.

Métodos e propriedades da classe Hashtable

A tabela a seguir lista alguns dos comumente usados properties do Hashtable classe -

Sr. Não. Descrição da Propriedade
1

Count

Obtém o número de pares de chave e valor contidos na Hashtable.

2

IsFixedSize

Obtém um valor que indica se o Hashtable tem um tamanho fixo.

3

IsReadOnly

Obtém um valor que indica se o Hashtable é somente leitura.

4

Item

Obtém ou define o valor associado à chave especificada.

5

Keys

Obtém uma ICollection que contém as chaves na Hashtable.

6

Values

Obtém um ICollection que contém os valores da Hashtable.

A tabela a seguir lista alguns dos comumente usados methods do Hashtable classe -

Sr. Não. Método e Descrição
1

public virtual void Add(object key, object value);

Adiciona um elemento com a chave e o valor especificados na Hashtable.

2

public virtual void Clear();

Remove todos os elementos do Hashtable.

3

public virtual bool ContainsKey(object key);

Determina se o Hashtable contém uma chave específica.

4

public virtual bool ContainsValue(object value);

Determina se o Hashtable contém um valor específico.

5

public virtual void Remove(object key);

Remove o elemento com a chave especificada do Hashtable.

Exemplo

O exemplo a seguir demonstra o conceito -

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         Hashtable ht = new Hashtable();
         
         ht.Add("001", "Zara Ali");
         ht.Add("002", "Abida Rehman");
         ht.Add("003", "Joe Holzner");
         ht.Add("004", "Mausam Benazir Nur");
         ht.Add("005", "M. Amlan");
         ht.Add("006", "M. Arif");
         ht.Add("007", "Ritesh Saikia");
         
         if (ht.ContainsValue("Nuha Ali")) {
            Console.WriteLine("This student name is already in the list");
         } else {
            ht.Add("008", "Nuha Ali");
         }
         
         // Get a collection of the keys.
         ICollection key = ht.Keys;
         
         foreach (string k in key) {
            Console.WriteLine(k + ": " + ht[k]);
         }
         Console.ReadKey();
      }
   }
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Benazir Nur
005: M. Amlan
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali