C#-Hashtable mit Beispielen
Was ist Hashtable in C#?
Eine Hash-Tabelle ist eine spezielle Sammlung, die zum Speichern von Schlรผsselwertelementen verwendet wird. Anstatt also nur einen Wert wie den Stapel, die Array-Liste und die Warteschlange zu speichern, speichert die Hash-Tabelle zwei Werte. Diese 2 Werte bilden ein Element der Hash-Tabelle.
Nachfolgend finden Sie einige Beispiele dafรผr, wie Werte einer Hash-Tabelle aussehen kรถnnten.
{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }
Oben haben wir 3 Schlรผsselwertpaare. Die Schlรผssel jedes Elements sind 001, 002 bzw. 003. Die Werte jedes Schlรผsselwertpaares sind โ.Netzโ, โC#โ bzw. โASP.Netโ.
Sehen wir uns die fรผr die Hashtable-Sammlung verfรผgbaren Operationen genauer an.
Deklaration der Hashtabelle
Die Deklaration einer Hashtable ist unten dargestellt. Mit Hilfe des Hashtable-Datentyps wird eine Hashtable erstellt. Das Schlรผsselwort โnewโ wird verwendet, um ein Objekt einer Hashtable zu erstellen. Das Objekt wird dann der Variablen ht zugewiesen.
Hashtable ht = new Hashtable()
Elemente zur Hashtable hinzufรผgen
Die Add-Methode wird verwendet, um ein Element zum hinzuzufรผgen Warteschlange. Die allgemeine Syntax der Anweisung ist unten angegeben
HashTable.add("key","value")
Beispiel 1:
Denken Sie daran, dass jedes Element der Hash-Tabelle aus zwei Werten besteht, einer ist der Schlรผssel und der andere ist der Wert.
Sehen wir uns nun an, wie dies auf Codeebene funktioniert. Der gesamte unten genannte Code wird in unsere Konsolenanwendung geschrieben.
Der Code wird in unsere Program.cs-Datei geschrieben. Im folgenden Programm schreiben wir den Code, um zu sehen, wie wir die oben genannten Methoden verwenden kรถnnen.
In unserem Beispiel schauen wir uns zunรคchst an, wie wir eine Hashtabelle erstellen, Elemente zur Hashtabelle hinzufรผgen und diese entsprechend anzeigen kรถnnen.
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();
}
}
}
Code-Erklรคrung:-
- Zuerst deklarieren wir die Hashtable-Variable mithilfe des Hashtable-Datentyps und verwenden dazu das Schlรผsselwort โNewโ. Der Name der definierten Variablen ist โhtโ.
- Anschlieรend fรผgen wir mithilfe der Add-Methode Elemente zur Hash-Tabelle hinzu. Denken Sie daran, dass wir sowohl ein Schlรผssel- als auch ein Wertelement hinzufรผgen mรผssen, wenn wir etwas zur Hashtabelle hinzufรผgen.
- Es gibt keine direkte Mรถglichkeit, die Elemente einer Hash-Tabelle anzuzeigen.
- Um die Hashtabelle anzuzeigen, mรผssen wir zunรคchst die Liste der Schlรผssel (001, 002 und 003) aus der Hashtabelle abrufen.
- Dies erfolgt รผber die ICollection-Schnittstelle. Dies ist ein spezieller Datentyp, der zum Speichern der Schlรผssel einer Hashtable-Sammlung verwendet werden kann. Anschlieรend weisen wir die Schlรผssel der Hashtable-Sammlung der Variablen โkeysโ zu.
- Als nรคchstes erhalten wir fรผr jeden Schlรผsselwert den zugehรถrigen Wert in der Hashtabelle, indem wir die Anweisung ht[k] verwenden.
Wenn der obige Code richtig eingegeben und das Programm ausgefรผhrt wird, wird die folgende Ausgabe angezeigt.
Ausgang:
Schauen wir uns einige weitere Methoden an, die fรผr Hash-Tabellen verfรผgbar sind.
EnthรคltSchlรผssel
Diese Methode wird verwendet, um zu sehen, ob ein Schlรผssel in der Hashtable vorhanden ist. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung. Die Anweisung gibt โtrueโ zurรผck, wenn der Schlรผssel existiert, andernfalls gibt sie den Wert โfalseโ zurรผck.
Hashtable.Containskey(key)
EnthรคltWert
Diese Methode wird verwendet, um zu sehen, ob ein Wert in der Hashtable vorhanden ist. Nachfolgend finden Sie die allgemeine Syntax dieser Anweisung. Die Anweisung gibt โtrueโ zurรผck, wenn der Wert existiert, andernfalls gibt sie den Wert โfalseโ zurรผck.
Hashtable.ContainsValue(value)
Beispiel 2:
Lassen Sie uns den Code in unserem รคndern Konsolenanwendung um zu zeigen, wie wir die Methoden โContainskeyโ und โContainsValueโ verwenden kรถnnen.
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();
}
}
}
Code-Erklรคrung:-
- Zuerst verwenden wir die Methode โContainsKeyโ, um zu prรผfen, ob der Schlรผssel in der Hashtabelle vorhanden ist. Diese Methode gibt true zurรผck, wenn der Schlรผssel in der Hashtabelle vorhanden ist. Diese Methode sollte โtrueโ zurรผckgeben, da der Schlรผssel in der Hashtabelle vorhanden ist.
- Anschlieรend verwenden wir die Methode โContainsValueโ, um zu prรผfen, ob der Wert in der Hashtabelle vorhanden ist. Diese Methode gibt โtrueโ zurรผck, da der Wert in der Hashtabelle vorhanden ist.
Wenn der obige Code richtig eingegeben und das Programm ausgefรผhrt wird, wird die folgende Ausgabe angezeigt.
Ausgang:
Anhand der Ausgabe kรถnnen Sie deutlich erkennen, dass sowohl der gesuchte Schlรผssel als auch der gesuchte Wert in der Hash-Tabelle vorhanden sind.
Zusammenfassung
Eine Hashtabelle wird zum Speichern von Elementen verwendet, die aus Schlรผsselwertpaaren bestehen. Um auf den Wert eines Elements zuzugreifen, mรผssen Sie den Schlรผssel des Elements kennen.




