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