Gli
HashTable ci permettono di salvare in memoria una lista coppie formate da chiave-valore ad esempio: "Rossi" - "Mario"; possiamo puntare direttamente al valore interessato attraverso la chiave.
La classe è inserita nel namespace
System.Collections, che ha allinterno diverse classi e interfacce che raccolgono implementazioni per le liste e le collections, in un precedente articolo abbiamo già visto l'uso di questo namespace attraverso la classe
System.ArrayList.
Per inserire una nuova coppia basta utilizzare il metodo
Add:
C#HashTable lista = new HastTable();
lista.Add[Rossi,Mario];
VB.NETDim Lista as New HastTable()
Lista.Add(Rossi,Mario)
La chiave è una stringa è non può essere null, mentre il secondo parametro è un
object e può essere anche null.
Essendo il secondo parametro unobject possiamo inserire come valore qualunque cosa, quindi in questo modo la nostra lista diventa molto dinamica e flessibile dandoci la possibilità di inserire oggetti eterogenei.
Per recuperare il valore basta puntare con la chiave e castare loggetto in modo adeguato
C#string nome = (string)lista[Rossi];
VB.NET
Dim nome as String = Ctype(list(Rossi),string)
Se invece non conosciamo la chiave possiamo ciclare tra le coppie, per fare questo dobbiamo utilizzare la classe
DictionaryEntry, che rappresenta la coppia chiave-valore
C#for each(DictionaryEntry entry in lista)
{
String chiave = entry.key;
String valore = (string)entry.value;
}
VB.NETDim entry as DictionaryEntry.
For each entry in lista
Dim chiave as string = entry.key
Dim valore as string = Ctype(entry.value,string)
Next