C# Hashtable s primjerima

Što je Hashtable u C#?

Raspršena tablica je posebna kolekcija koja se koristi za pohranu stavki ključ-vrijednost. Dakle, umjesto pohranjivanja samo jedne vrijednosti kao stog, popis polja i red čekanja, hash tablica pohranjuje 2 vrijednosti. Ove 2 vrijednosti čine element hash tablice.

Ispod su neki primjeri kako bi vrijednosti hash tablice mogle izgledati.

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

Gore imamo 3 para ključeva vrijednosti. Ključevi svakog elementa su redom 001, 002 i 003. Vrijednosti svakog para ključ vrijednosti su ".Neto“, “C#” odnosno “ASP.Net”.

Pogledajmo detaljnije operacije dostupne za kolekciju Hashtable.

Deklaracija Hashtable

Deklaracija Hashtable prikazana je u nastavku. Hashtable se kreira uz pomoć tipa podataka Hashtable. Ključna riječ "new" koristi se za stvaranje objekta Hashtable. Objekt se tada dodjeljuje varijabli ht.

Hashtable ht = new Hashtable()

Dodavanje elemenata u Hashtable

Metoda Add koristi se za dodavanje elementa na red. Opća sintaksa izjave data je u nastavku

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

Primjer 1:

Zapamtite da se svaki element hash tablice sastoji od 2 vrijednosti, jedna je ključ, a druga je vrijednost.

Sada, da vidimo kako ovo radi na razini koda. Sav dolje navedeni kod bit će zapisan u našu konzolnu aplikaciju.

Kod će biti zapisan u našu datoteku Program.cs. U donjem programu napisat ćemo kod da vidimo kako možemo koristiti gore navedene metode.

Za sada ćemo u našem primjeru samo pogledati kako možemo stvoriti hash tablicu, dodati elemente u hash tablicu i prikazati ih u skladu s tim.

Raspršena tablica u 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();
   }
 }
}

Objašnjenje koda:-

  1. Prvo, deklariramo varijablu hashtable koristeći tip podataka Hashtable koristeći ključnu riječ "New". Naziv definirane varijable je 'ht'.
  2. Zatim dodajemo elemente u hash tablicu pomoću metode Add. Ne zaboravite da moramo dodati i ključ i element vrijednosti kada nešto dodajemo u hash tablicu.
  3. Ne postoji izravan način za prikaz elemenata hash tablice.
  • Kako bismo prikazali hash tablicu, prvo moramo dobiti popis ključeva (001, 002 i 003) iz hash tablice.
  • To se radi preko ICollection sučelja. Ovo je poseban tip podataka koji se može koristiti za pohranjivanje ključeva kolekcija hashtable. Zatim ključeve zbirke hashtable dodjeljujemo varijabli 'keys'.
  1. Zatim za svaku vrijednost ključa dobivamo pridruženu vrijednost u tablici raspršivanja korištenjem izjave ht[k].

Ako se gornji kod ispravno unese i program se pokrene, prikazat će se sljedeći izlaz.

Izlaz:

Raspršena tablica u C#

Pogledajmo još neke metode dostupne za hash tablice.

SadržiKljuč

Ova se metoda koristi da se vidi je li ključ prisutan u tablici raspršivanja. Ispod je opća sintaksa ove izjave. Naredba će vratiti true ako ključ postoji, inače će vratiti vrijednost false.

Hashtable.Containskey(key)

SadržiVrijednost

Ova se metoda koristi da se vidi je li vrijednost prisutna u tablici raspršivanja. Ispod je opća sintaksa ove izjave. Naredba će vratiti true ako vrijednost postoji, inače će vratiti vrijednost false.

Hashtable.ContainsValue(value)

Primjer 2:

Promijenimo kod u našem Konzolna aplikacija kako bismo pokazali kako možemo koristiti metode "Containskey" i "ContainsValue".

Raspršena tablica u 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();
   }
 }
}

Objašnjenje koda:-

  1. Prvo koristimo metodu ContainsKey da vidimo je li ključ prisutan u hash tablici. Ova metoda će vratiti true ako je ključ prisutan u hash tablici. Ova bi metoda trebala vratiti true budući da ključ postoji u hash tablici.
  2. Zatim koristimo metodu ContainsValue da vidimo je li vrijednost prisutna u hash tablici. Ova će metoda vratiti 'true' budući da vrijednost postoji u tablici raspršivanja.

Ako se gornji kod ispravno unese i program se pokrene, prikazat će se sljedeći izlaz.

Izlaz:

Raspršena tablica u C#

Iz izlaza možete jasno vidjeti da su i ključ i vrijednost koji se pretražuju prisutni u hash tablici.

rezime

Hashtable se koristi za pohranu elemenata koji se sastoje od parova ključnih vrijednosti. Da biste pristupili vrijednosti elementa, morate znati ključ elementa.