C # - Clase Hashtable

La clase Hashtable representa una colección de key-and-value pairsque se organizan en función del código hash de la clave. Utiliza la clave para acceder a los elementos de la colección.

Una tabla hash se usa cuando necesita acceder a elementos usando keyy puede identificar un valor clave útil. Cada elemento de la tabla hash tiene un par clave / valor. La clave se utiliza para acceder a los elementos de la colección.

Métodos y propiedades de la clase Hashtable

La siguiente tabla enumera algunos de los properties del Hashtable clase -

No Señor. Descripción de propiedad
1

Count

Obtiene el número de pares de clave y valor contenidos en Hashtable.

2

IsFixedSize

Obtiene un valor que indica si la tabla hash tiene un tamaño fijo.

3

IsReadOnly

Obtiene un valor que indica si Hashtable es de solo lectura.

4

Item

Obtiene o establece el valor asociado con la clave especificada.

5

Keys

Obtiene un ICollection que contiene las claves en Hashtable.

6

Values

Obtiene un ICollection que contiene los valores de Hashtable.

La siguiente tabla enumera algunos de los methods del Hashtable clase -

No Señor. Método y descripción
1

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

Agrega un elemento con la clave y el valor especificados en Hashtable.

2

public virtual void Clear();

Elimina todos los elementos de Hashtable.

3

public virtual bool ContainsKey(object key);

Determina si la tabla hash contiene una clave específica.

4

public virtual bool ContainsValue(object value);

Determina si Hashtable contiene un valor específico.

5

public virtual void Remove(object key);

Elimina el elemento con la clave especificada de Hashtable.

Ejemplo

El siguiente ejemplo demuestra el concepto:

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();
      }
   }
}

Cuando se compila y ejecuta el código anterior, produce el siguiente 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