C# Hashtable cu exemple

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 despre cum ar putea arăta valorile unui tabel hash.

{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }

Mai sus avem 3 perechi valori cheie. Cheile fiecărui element sunt 001, 002 și, respectiv, 003. Valorile fiecărei perechi valori cheie sunt „.Net„, „C#” și, respectiv, „ASP.Net”.

Să ne uităm la operațiunile disponibile pentru colecția Hashtable mai detaliat.

Declarația Hashtable

Declarația unui Hashtable este prezentată mai jos. Un Hashtable este creat cu ajutorul Hashtable Datatype. Cuvântul cheie „nou” este folosit 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 Add este folosită pentru a adăuga un element la coadă. Sintaxa generală a enunțului este dată mai jos

HashTable.add("key","value")

Exemplu 1:

Rețineți că fiecare element al tabelului hash cuprinde 2 valori, una este cheia, iar cealaltă este valoarea.

Acum, să vedem asta funcționând la nivel de cod. Tot codul menționat mai jos va fi scris în aplicația noastră Console.

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ăugam elemente la hashtable și le vom afișa în consecință.

Hashtable în C#

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();
   }
 }
}

Explicația codului: -

  1. Mai întâi, declarăm variabila hashtable folosind tipul de date Hashtable folosind cuvântul cheie „Nou”. Numele variabilei definite este „ht”.
  2. Apoi adăugăm elemente la tabelul hash folosind metoda Add. Amintiți-vă că trebuie să adăugăm atât un element cheie, cât și un element de valoare atunci când adăugăm ceva la tabelul hash.
  3. Nu există o modalitate directă de a afișa elementele unui tabel hash.
  • Pentru a afișa tabelul hash, 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”.
  1. În continuare, pentru fiecare valoare cheie, obținem valoarea asociată în tabelul hash utilizând 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:

Hashtable în C#

Să ne uităm la câteva metode disponibile pentru tabelele hash.

Conține cheia

Această metodă este folosită pentru a vedea dacă o cheie este prezentă în Hashtable. Mai jos este sintaxa generală a acestei declarații. Declarația va returna true dacă cheia există, altfel va returna valoarea false.

Hashtable.Containskey(key)

ConțineValoare

Această metodă este folosită pentru a vedea dacă o valoare este prezentă în Hashtable. Mai jos este sintaxa generală a acestei declarații. Declarația va returna true dacă Value există, altfel va returna valoarea false.

Hashtable.ContainsValue(value)

Exemplu 2:

Să modificăm codul din nostru Aplicație de consolă pentru a arăta cum putem folosi metoda „Containskey” și „ContainsValue”.

Hashtable în C#

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();
   }
 }
}

Explicația codului: -

  1. În primul rând, folosim metoda ContainsKey pentru a vedea dacă cheia este prezentă în hashtable. Această metodă va returna true dacă cheia este prezentă în tabelul hash. Această metodă ar trebui să returneze true, deoarece cheia există în tabelul hash.
  2. Apoi folosim metoda ContainsValue pentru a vedea dacă valoarea este prezentă în tabelul hash. Această metodă va returna „adevărat”, deoarece Valoarea există în tabelul hash.

Dacă codul de mai sus este introdus corect și programul este rulat, va fi afișată următoarea ieșire.

ieșire:

Hashtable în C#

Din rezultat, puteți vedea clar că atât cheia, cât și valoarea căutate sunt prezente în tabelul hash.

Rezumat

Un hashtable este folosit pentru a stoca elemente care conțin perechi de valori cheie. Pentru a accesa valoarea unui element, trebuie să cunoașteți cheia elementului.