Hvad er Hashtable i C #?
En hash-tabel er en speciel samling, der bruges til at gemme nøgleværdiprodukter. Så i stedet for kun at gemme en værdi som stakken, array-listen og køen gemmer hash-tabellen 2 værdier. Disse 2 værdier udgør et element i hash-tabellen.
Nedenfor er nogle eksempler på, hvordan værdierne i en hash-tabel kan se ud.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Ovenfor har vi 3 nøgleværdipar. Tasterne på hvert element er henholdsvis 001, 002 og 003. Værdierne for hvert nøgleværdipar er henholdsvis ".Net", "C #" og "ASP.Net".
Lad os se på de operationer, der er tilgængelige for Hashtable-samlingen mere detaljeret.
Erklæring fra Hashtable
Erklæringen om en Hashtable er vist nedenfor. En Hashtable oprettes ved hjælp af Hashtable Datatype. Det "nye" nøgleord bruges til at oprette et objekt i en Hashtable. Objektet tildeles derefter variablen ht.
Hashtable ht = new Hashtable()
Tilføjelse af elementer til Hashtable
Metoden Tilføj bruges til at føje et element til køen. Udtalelsens generelle syntaks er angivet nedenfor
HashTable.add("key","value")
Eksempel 1:
Husk, at hvert element i hash-tabellen består af 2 værdier, den ene er nøglen, og den anden er værdien.
Lad os nu se, at dette fungerer på kodeniveau. Al nedenstående kode vil blive skrevet til vores konsolapplikation.
Koden vil blive skrevet til vores Program.cs-fil. I nedenstående program skriver vi koden for at se, hvordan vi kan bruge de ovennævnte metoder.
For nu i vores eksempel vil vi bare se på, hvordan vi kan oprette en hashtable, tilføje elementer til hashtable og vise dem i overensstemmelse hermed.
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();}}}
Kode Forklaring: -
- For det første erklærer vi hashtable-variablen ved hjælp af datatypen Hashtable ved hjælp af nøgleordet "Ny". Navnet på variabeldefinitionerne er 'ht'.
- Vi tilføjer derefter elementer til hash-tabellen ved hjælp af metoden Tilføj. Husk, at vi skal tilføje både et nøgle- og værdielement, når vi tilføjer noget til hashtabellen.
- Der er ingen direkte måde at vise elementerne i en hash-tabel på.
- For at få vist hashtable skal vi først hente listen over taster (001, 002 og 003) fra hash-tabellen.
- Dette gøres via ICollection-grænsefladen. Dette er en speciel datatype, som kan bruges til at gemme nøglerne til en hashtable samling. Vi tildeler derefter nøglerne til den hashtable samling til variablen 'nøgler'.
- Dernæst for hver nøgleværdi får vi den tilknyttede værdi i hashtabellen ved hjælp af sætningen ht [k].
Hvis ovenstående kode er indtastet korrekt, og programmet køres, vises følgende output.
Produktion:
Lad os se på nogle flere tilgængelige metoder til hash-tabeller.
Indeholder nøgle
Denne metode bruges til at se, om der findes en nøgle i Hashtable. Nedenfor er den generelle syntaks for denne erklæring. Erklæringen returnerer sand, hvis nøglen findes, ellers returnerer den værdien falsk.
Hashtable.Containskey(key)
Indeholder værdi
Denne metode bruges til at se, om der er en værdi i Hashtable. Nedenfor er den generelle syntaks for denne erklæring. Erklæringen returnerer sand, hvis værdien findes, ellers returnerer den værdien falsk.
Hashtable.ContainsValue(value)
Eksempel 2:
Lad os ændre koden i vores konsolapplikation for at vise, hvordan vi kan bruge metoden "Containskey" og "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();}}}
Kode Forklaring: -
- Først bruger vi ContainsKey-metoden til at se, om nøglen er til stede i hashtabellen. Denne metode vender tilbage til sandt, hvis nøglen er til stede i hashtabellen. Denne metode skal vende tilbage til sandt, da nøglen findes i hashtable.
- Vi bruger derefter metoden ContainsValue for at se, om værdien er til stede i hashtabellen. Denne metode returnerer 'sand', da værdien findes i hashtabellen.
Hvis ovenstående kode er indtastet korrekt, og programmet køres, vises følgende output.
Produktion:
Fra output kan du tydeligt se, at både nøglen og den værdi, der søges, findes i hash-tabellen.
Resumé
- En Hashtable bruges til at gemme elementer, der består af nøgleværdipar. For at få adgang til værdien af et element skal du kende elementets nøgle.