C# hashtabell med eksempler
Hva er Hashtable i C#?
En hash-tabell er en spesiell samling som brukes til รฅ lagre nรธkkelverdi-elementer. Sรฅ i stedet for รฅ lagre bare รฉn verdi som stabelen, arraylisten og kรธen, lagrer hashtabellen 2 verdier. Disse 2 verdiene utgjรธr et element i hashtabellen.
Nedenfor er noen eksempler pรฅ hvordan verdiene i en hashtabell kan se ut.
{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }
Ovenfor har vi 3 nรธkkelverdipar. Nรธklene til hvert element er henholdsvis 001, 002 og 003. Verdiene til hvert nรธkkelverdipar er ". Net", "C#" og "ASP.Net" henholdsvis.
La oss se pรฅ operasjonene som er tilgjengelige for Hashtable-samlingen mer detaljert.
Erklรฆring fra hashtabellen
Erklรฆringen til en hashtabell vises nedenfor. En hashtabell lages ved hjelp av hashtable-datatypen. Det "nye" nรธkkelordet brukes til รฅ lage et objekt av en hashtabell. Objektet blir deretter tilordnet variabelen ht.
Hashtable ht = new Hashtable()
Legge til elementer i hashtabellen
Add-metoden brukes til รฅ legge til et element pรฅ kรธen. Den generelle syntaksen til setningen er gitt nedenfor
HashTable.add("key","value")
Eksempel 1:
Husk at hvert element i hashtabellen bestรฅr av 2 verdier, den ene er nรธkkelen og den andre er verdien.
La oss nรฅ se at dette fungerer pรฅ kodenivรฅ. All koden nedenfor vil bli skrevet til vรฅr konsollapplikasjon.
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 hashtabell , legge til elementer i hashtabellen 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();
}
}
}
Kodeforklaring:-
- Fรธrst erklรฆrer vi hashable-variabelen ved รฅ bruke hashable-datatypen ved รฅ bruke nรธkkelordet "New". Navnet pรฅ variabelen definerer er 'ht'.
- Vi legger deretter til elementer i hash-tabellen ved รฅ bruke 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 hashtabellen.
- Dette gjรธres via ICollection-grensesnittet. Dette er en spesiell datatype som kan brukes til รฅ lagre nรธklene til en hashbar samling. Vi tildeler deretter nรธklene til hashtabellsamlingen til variabelen 'nรธkler'.
- Neste for hver nรธkkelverdi fรฅr vi den tilhรธrende verdien i hashtabellen ved รฅ bruke setningen ht[k].
Hvis koden ovenfor angis riktig og programmet kjรธres, vil fรธlgende utgang vises.
Utgang:
La oss se pรฅ noen flere metoder som er tilgjengelige for hashtabeller.
Inneholder nรธkkel
Denne metoden brukes til รฅ se om en nรธkkel er til stede i hashtabellen. Nedenfor er den generelle syntaksen til denne uttalelsen. Utsagnet vil returnere sant hvis nรธkkelen eksisterer, ellers vil det returnere verdien usann.
Hashtable.Containskey(key)
Inneholder Verdi
Denne metoden brukes til รฅ se om en verdi er tilstede i hashtabellen. Nedenfor er den generelle syntaksen til denne uttalelsen. Utsagnet vil returnere sant hvis verdien eksisterer, ellers vil det returnere verdien usann.
Hashtable.ContainsValue(value)
Eksempel 2:
La oss endre koden i vรฅr Konsollsรธknad for รฅ vise frem hvordan vi kan bruke ยซContainskeyยป- og ยซContainsValueยป-metoden.
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();
}
}
}
Kodeforklaring:-
- Fรธrst bruker vi ContainsKey-metoden for รฅ se om nรธkkelen finnes i hashtabellen. Denne metoden vil returnere sann hvis nรธkkelen er til stede i hashtabellen. Denne metoden skal returnere true siden nรธkkelen eksisterer i hashtabellen.
- Vi bruker deretter ContainsValue-metoden for รฅ se om verdien finnes i hashtabellen. Denne metoden vil returnere "true" siden verdien eksisterer i hashtabellen.
Hvis koden ovenfor angis riktig og programmet kjรธres, vil fรธlgende utgang vises.
Utgang:
Fra utgangen kan du tydelig se at bรฅde nรธkkelen og verdien som sรธkes er tilstede i hash-tabellen.
Sammendrag
En hashtabell brukes til รฅ lagre elementer som bestรฅr av nรธkkelverdipar. For รฅ fรฅ tilgang til verdien til et element mรฅ du kjenne nรธkkelen til elementet.




