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.