Cos'è Hashtable in C #?
Una tabella hash è una raccolta speciale utilizzata per archiviare elementi valore-chiave. Quindi, invece di memorizzare un solo valore come lo stack, l'elenco di array e la coda, la tabella hash memorizza 2 valori. Questi 2 valori formano un elemento della tabella hash.
Di seguito sono riportati alcuni esempi di come potrebbero apparire i valori di una tabella hash.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Sopra abbiamo 3 coppie di valori chiave. Le chiavi di ogni elemento sono rispettivamente 001, 002 e 003. I valori di ciascuna coppia di valori chiave sono rispettivamente ".Net", "C #" e "ASP.Net".
Diamo un'occhiata più in dettaglio alle operazioni disponibili per la raccolta Hashtable.
Dichiarazione di Hashtable
La dichiarazione di un Hashtable è mostrata di seguito. Un Hashtable viene creato con l'aiuto del tipo di dati Hashtable. La parola chiave "new" viene utilizzata per creare un oggetto di un Hashtable. L'oggetto viene quindi assegnato alla variabile ht.
Hashtable ht = new Hashtable()
Aggiunta di elementi a Hashtable
Il metodo Add viene utilizzato per aggiungere un elemento alla coda. Di seguito viene fornita la sintassi generale dell'istruzione
HashTable.add("key","value")
Esempio 1:
Ricorda che ogni elemento della tabella hash comprende 2 valori, uno è la chiave e l'altro è il valore.
Vediamo ora che funziona a livello di codice. Tutto il codice indicato di seguito verrà scritto nella nostra applicazione Console.
Il codice verrà scritto nel nostro file Program.cs. Nel programma sottostante, scriveremo il codice per vedere come possiamo utilizzare i metodi sopra menzionati.
Per ora nel nostro esempio, vedremo solo come creare una tabella hash, aggiungere elementi alla tabella hash e visualizzarli di conseguenza.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");ICollection keys = ht.Keys;foreach (String k in keys){Console.WriteLine(ht[k]);}Console.ReadKey();}}}
Spiegazione del codice: -
- Innanzitutto, dichiariamo la variabile hashtable utilizzando il tipo di dati Hashtable utilizzando la parola chiave "New". Il nome della variabile definita è "ht".
- Quindi aggiungiamo elementi alla tabella hash utilizzando il metodo Add. Ricorda che dobbiamo aggiungere sia un elemento chiave che un elemento valore quando si aggiunge qualcosa alla tabella hash.
- Non esiste un modo diretto per visualizzare gli elementi di una tabella hash.
- Per visualizzare la tabella hash, dobbiamo prima ottenere l'elenco delle chiavi (001, 002 e 003) dalla tabella hash.
- Questo viene fatto tramite l'interfaccia ICollection. Questo è un tipo di dati speciale che può essere utilizzato per memorizzare le chiavi di una raccolta di tabelle hash. Quindi assegniamo le chiavi della raccolta della tabella hash alla variabile "chiavi".
- Successivamente, per ogni valore di chiave, otteniamo il valore associato nella tabella hash utilizzando l'istruzione ht [k].
Se il codice sopra è inserito correttamente e il programma viene eseguito, verrà visualizzato il seguente output.
Produzione:
Diamo un'occhiata ad altri metodi disponibili per le tabelle hash.
ContainsKey
Questo metodo viene utilizzato per vedere se una chiave è presente in Hashtable. Di seguito è riportata la sintassi generale di questa affermazione. L'istruzione restituirà true se la chiave esiste, altrimenti restituirà il valore false.
Hashtable.Containskey(key)
ContainsValue
Questo metodo viene utilizzato per vedere se un valore è presente nella tabella hash. Di seguito è riportata la sintassi generale di questa affermazione. L'istruzione restituirà true se il valore esiste, altrimenti restituirà il valore false.
Hashtable.ContainsValue(value)
Esempio 2:
Cambiamo il codice nella nostra applicazione Console per mostrare come possiamo utilizzare il metodo "Containskey" e "ContainsValue".
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");Console.WriteLine(ht.ContainsKey("001"));Console.WriteLine(ht.ContainsValue("C#"));Console.ReadKey();}}}
Spiegazione del codice: -
- Innanzitutto, utilizziamo il metodo ContainsKey per vedere se la chiave è presente nella tabella hash. Questo metodo restituirà true se la chiave è presente nella tabella hash. Questo metodo dovrebbe restituire true poiché la chiave esiste nella tabella hash.
- Quindi utilizziamo il metodo ContainsValue per vedere se il valore è presente nella tabella hash. Questo metodo restituirà "true" poiché il valore esiste nella tabella hash.
Se il codice sopra è inserito correttamente e il programma viene eseguito, verrà visualizzato il seguente output.
Produzione:
Dall'output, puoi vedere chiaramente che sia la chiave che il valore cercato sono presenti nella tabella hash.
Sommario
- Un Hashtable viene utilizzato per memorizzare elementi che comprendono coppie di valori chiave. Per accedere al valore di un elemento, devi conoscere la chiave dell'elemento.