Hva er Hashtable i C #?
En hash-tabell er en spesiell samling som brukes til å lagre nøkkelverdier. Så i stedet for å lagre bare en verdi som stakken, matriselisten og køen, lagrer hashtabellen to verdier. Disse to verdiene utgjør et element i hashtabellen.
Nedenfor er noen eksempler på hvordan verdier i en hash-tabell kan se ut.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Ovenfor har vi 3 nøkkelverdipar. Tastene til hvert element er henholdsvis 001, 002 og 003. Verdiene til hvert nøkkelverdipar er henholdsvis ".Net", "C #" og "ASP.Net".
La oss se på operasjonene som er tilgjengelige for Hashtable-samlingen mer detaljert.
Erklæring fra Hashtable
Erklæringen om en Hashtable er vist nedenfor. En Hashtable opprettes ved hjelp av Hashtable Datatype. Det "nye" nøkkelordet brukes til å lage et objekt til en Hashtable. Objektet tildeles deretter variabelen ht.
Hashtable ht = new Hashtable()
Legge til elementer i Hashtable
Add-metoden brukes til å legge til et element i køen. Uttalelsens generelle syntaks er gitt nedenfor
HashTable.add("key","value")
Eksempel 1:
Husk at hvert element i hashtabellen består av to verdier, den ene er nøkkelen og den andre er verdien.
La oss nå se at dette fungerer på kodenivå. All koden nedenfor blir skrevet til konsollapplikasjonen.
Koden vil bli skrevet til vår Program.cs-fil. I programmet nedenfor vil vi skrive koden for å se hvordan vi kan bruke de ovennevnte metodene.
For nå i vårt eksempel, vil vi bare se på hvordan vi kan lage en hashtable, legge til elementer i hashtable og vise dem deretter.
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: -
- Først erklærer vi hashtable-variabelen ved hjelp av datatypen Hashtable ved å bruke nøkkelordet "Ny". Navnet på variabelen definerer er 'ht'.
- Deretter legger vi til elementer i hash-tabellen ved hjelp av Add-metoden. Husk at vi må legge til både et nøkkel- og verdielement når vi legger til noe i hashtabellen.
- Det er ingen direkte måte å vise elementene i en hash-tabell på.
- For å vise hashtabellen, må vi først hente listen over nøkler (001, 002 og 003) fra hash-tabellen.
- Dette gjøres via ICollection-grensesnittet. Dette er en spesiell datatype som kan brukes til å lagre nøklene til en hashtable samling. Vi tilordner deretter nøklene til den hashtable samlingen til variabelen 'nøkler'.
- Neste for hver nøkkelverdi får vi den tilknyttede verdien i hashtabellen ved å bruke setningen ht [k].
Hvis koden ovenfor er angitt riktig og programmet kjøres, vises følgende utdata.
Produksjon:
La oss se på noen flere tilgjengelige metoder for hash-tabeller.
Inneholder nøkkel
Denne metoden brukes til å se om en nøkkel er til stede i Hashtable. Nedenfor er den generelle syntaksen for denne uttalelsen. Uttalelsen vil returnere sant hvis nøkkelen eksisterer, ellers vil den returnere verdien falsk.
Hashtable.Containskey(key)
Inneholder verdi
Denne metoden brukes til å se om en verdi er tilstede i Hashtable. Nedenfor er den generelle syntaksen for denne uttalelsen. Uttalelsen vil være sann hvis Verdien eksisterer, ellers vil den returnere verdien falsk.
Hashtable.ContainsValue(value)
Eksempel 2:
La oss endre koden i konsollprogrammet vårt for å vise hvordan vi kan bruke 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 bruker vi ContainsKey-metoden for å se om nøkkelen er til stede i hashtabellen. Denne metoden vil være sann hvis nøkkelen er til stede i hashtabellen. Denne metoden skal være sann siden nøkkelen finnes i hashtabellen.
- Vi bruker deretter ContainsValue-metoden for å se om verdien er til stede i hashtabellen. Denne metoden vil returnere 'true' siden verdien finnes i hashtabellen.
Hvis koden ovenfor er angitt riktig og programmet kjøres, vises følgende utdata.
Produksjon:
Fra utgangen kan du tydelig se at både nøkkelen og verdien du søker etter, er til stede i hash-tabellen.
Sammendrag
- En Hashtable brukes til å lagre elementer som består av nøkkelverdipar. For å få tilgang til verdien til et element, må du vite nøkkelen til elementet.