Ce este Hashtable în C #?
Un tabel hash este o colecție specială care este utilizată pentru a stoca elemente cheie-valoare. Deci, în loc să stocheze o singură valoare, cum ar fi stiva, lista de matrice și coada, tabelul hash stochează 2 valori. Aceste 2 valori formează un element al tabelului hash.
Mai jos sunt câteva exemple de cum ar putea arăta valorile unui tabel hash.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Mai sus avem 3 perechi de valori cheie. Cheile fiecărui element sunt 001, 002 și respectiv 003. Valorile fiecărei perechi de valori cheie sunt „.Net”, „C #” și respectiv „ASP.Net”.
Să analizăm mai detaliat operațiunile disponibile pentru colecția Hashtable.
Declarația Hashtable
Declarația unui Hashtable este prezentată mai jos. Un Hashtable este creat cu ajutorul tipului de date Hashtable. Cuvântul cheie „nou” este utilizat pentru a crea un obiect al unui Hashtable. Obiectul este apoi atribuit variabilei ht.
Hashtable ht = new Hashtable()
Adăugarea de elemente la Hashtable
Metoda Adăugare este utilizată pentru a adăuga un element la coadă. Sintaxa generală a enunțului este dată mai jos
HashTable.add("key","value")
Exemplul 1:
Amintiți-vă că fiecare element al tabelului hash cuprinde 2 valori, una este cheia, iar cealaltă este valoarea.
Acum, să vedem acest lucru la nivel de cod. Toate codurile menționate mai jos vor fi scrise în aplicația Consolei noastre.
Codul va fi scris în fișierul nostru Program.cs. În programul de mai jos, vom scrie codul pentru a vedea cum putem folosi metodele menționate mai sus.
Deocamdată, în exemplul nostru, ne vom uita doar la modul în care putem crea un hashtable, adăugăm elemente la hashtable și le vom afișa în consecință.
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();}}}
Cod Explicație: -
- În primul rând, declarăm variabila hashtable utilizând tipul de date Hashtable utilizând cuvântul cheie „Nou”. Numele variabilei definite este „ht”.
- Apoi adăugăm elemente în tabelul hash folosind metoda Add. Amintiți-vă că trebuie să adăugăm atât o cheie cât și un element valoric atunci când adăugăm ceva la hashtable.
- Nu există o modalitate directă de a afișa elementele unui tabel hash.
- Pentru a afișa hashtable, mai întâi trebuie să obținem lista de chei (001, 002 și 003) din tabelul hash.
- Acest lucru se face prin interfața ICollection. Acesta este un tip de date special care poate fi folosit pentru a stoca cheile unei colecții hashtable. Apoi atribuim cheile colecției hashtable variabilei „chei”.
- Apoi pentru fiecare valoare cheie, obținem valoarea asociată în hashtable folosind instrucțiunea ht [k].
Dacă codul de mai sus este introdus corect și programul este rulat, va fi afișată următoarea ieșire.
Ieșire:
Să ne uităm la câteva metode disponibile pentru tabelele hash.
Conține cheie
Această metodă este utilizată pentru a vedea dacă o cheie este prezentă în Hashtable. Mai jos este sintaxa generală a acestei afirmații. Instrucțiunea va reveni adevărată dacă cheia există, altfel va returna valoarea falsă.
Hashtable.Containskey(key)
Conține Valoare
Această metodă este utilizată pentru a vedea dacă există o valoare în Hashtable. Mai jos este sintaxa generală a acestei afirmații. Declarația va reveni adevărată dacă există valoarea, altfel va returna valoarea falsă.
Hashtable.ContainsValue(value)
Exemplul 2:
Să schimbăm codul din aplicația Console pentru a prezenta modul în care putem folosi metoda „Containskey” și „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();}}}
Cod Explicație: -
- În primul rând, folosim metoda ContainsKey pentru a vedea dacă cheia este prezentă în hashtable. Această metodă va reveni adevărată dacă cheia este prezentă în hashtable. Această metodă ar trebui să revină adevărată, deoarece cheia există în hashtable.
- Apoi folosim metoda ContainsValue pentru a vedea dacă valoarea este prezentă în hashtable. Această metodă va reveni „adevărat”, deoarece valoarea există în hashtable.
Dacă codul de mai sus este introdus corect și programul este rulat, va fi afișată următoarea ieșire.
Ieșire:
Din ieșire, puteți vedea clar că atât cheia, cât și valoarea căutată sunt prezente în tabelul hash.
rezumat
- Un Hashtable este utilizat pentru a stoca elemente care cuprind perechi de valori cheie. Pentru a accesa valoarea unui element, trebuie să cunoașteți cheia elementului.