Le HashTable sono collezioni di dati formati da una coppia chiave:valore, in cui la chiave è univoca.

In VB.NET non è necessario esplicitare il tipo della chiave o del valore.

Nell’esempio qui sotto ho impostato la chiave come numero, ma potete farla anche stringa:

    Dim hashTable As Hashtable = New Hashtable()
    hashTable.Add(1, "Napoli")
    hashTable.Add(2, "Barcellona")
    hashTable.Add(3, "Parigi")

    Dim de As DictionaryEntry
    For Each de In hashTable
        Debug.WriteLine(de.Key.ToString & " - " & de.Value)
    Next

    If (hashTable.ContainsValue("Napoli")) Then
        Debug.WriteLine("Grande Napoli!")
    End If

    If (hashTable.ContainsKey(1)) Then
        Debug.WriteLine("Chiave Già Esistente!")
    End If

    'Per eliminare tutti i recors
    hashTable.Clear()

    'Per eliminare un singolo elemento passando la chiave
    hashTable.Remove(3)

Prima iteriamo su tutta la collezione usando un DictionaryEntry (ma ci sono anche altri modi per eseguire questa operazione).

Poi controlliamo se un recod contiene un determinato valore; ma possiamo anche controllare la chiave ovviamente.