Hash-Tabelle ist eine nicht-−generische Sammlung in C#. Es speichert wichtige −-Wertepaare, ähnlich einer generischen „dictionary“-Sammlung. HashTable ist im System.Collections.namespace definiert.
HashTable besteht aus Schlüssel/Wert-Paaren, wobei jeder Schlüssel als Hash-Code berechnet und intern in einem anderen Bucket gespeichert wird. Bei jedem Zugriff auf die HashTable wird der Hash-Code mit dem Hash-Code für den angegebenen Schlüssel abgeglichen und so auf den entsprechenden Wert zugegriffen. Dieser Mechanismus optimiert die Suche in Hash-Tabellen.
Lassen Sie uns nun besprechen, wie Sie Schlüssel aus HashTable in C# erhalten.
Wir können zwei Methoden verwenden, um die Schlüssel aus der Hash-Tabelle abzurufen.
Verwenden Sie for−each-Schleife und greifen Sie auf die Schlüssel zu
Rufen Sie den Schlüsselsatz aus der Hash-Tabelle ab und zeigen Sie sie einzeln an.
Lassen Sie uns beide Methoden anhand von Beispielen demonstrieren.
Bei dieser Methode deklarieren wir eine Hash-Tabelle mit Schlüssel/Wert-Paaren. Dann zeigen wir mithilfe einer for-each-Schleife die Schlüssel in der Hash-Tabelle an.
Um dies programmgesteuert zu erreichen, verwenden wir die folgende Hash-Tabelle.
{“US", "New York"} {"FR", "Paris"} {"UK", "London"} {"IN", "Mumbai"} {"GER", "Berlin"}
Die Hash-Tabelle oben hat den Ländercode als Schlüssel und den Wert als entsprechende wichtige Stadt.
Wenn die obige Hash-Tabelle Citytable heißt, greifen wir wie unten gezeigt mit dem DictionaryEntry-Iterator auf ihre Schlüssel zu -
foreach(DictionaryEntry ele1 in Citytable){ Console.WriteLine("{0}", ele1.Key);
Dieser Code zeigt jeden Schlüssel in der Hash-Tabelle an.
Der vollständige Arbeitsplan für diese Methode ist wie folgt -
using System; using System.Collections; class MyHashTable { // Main Method static public void Main() { // Create a hashtable instance Hashtable Citytable = new Hashtable(); // Adding key/value pair in the hashtable using Add() method Citytable.Add("US", "New York"); Citytable.Add("FR", "Paris"); Citytable.Add("UK", "London"); Citytable.Add("IN", "Mumbai"); Citytable.Add("GER", "Berlin"); //Print hashtable keys Console.WriteLine("Citytable Keys:"); foreach(DictionaryEntry ele1 in Citytable){ Console.WriteLine("{0}", ele1.Key); } } }
In diesem Programm deklarieren und definieren wir eine Hash-Tabelle namens Citytable, die den Ländercode und seine wichtigen Städte jeweils als Schlüssel/Wert-Paare enthält. Nachdem wir die Hash-Tabelle mithilfe der Add()-Methode mit Werten gefüllt haben, starten wir eine for-each-Schleife, die die Citytable mithilfe des Iterators „ele1“ vom Typ DictionaryEntry iteriert. Dann wird für jede Iteration der Schlüsselwert gedruckt.
Citytable Keys: FR US IN GER UK
Wie wir sehen können, werden in der Ausgabe nur die Schlüssel von Citytable angezeigt. Dies ist die gebräuchlichste Methode, da wir die for-each-Schleife hauptsächlich verwenden, um den Inhalt einer Sammlung oder eines Arrays anzuzeigen.
Wir können das obige Programm leicht modifizieren, sodass es den Wert anzeigt, der einem bestimmten Schlüssel entspricht.
Dazu müssen wir folgende Änderungen in der Iterationsschleife vornehmen.
foreach(DictionaryEntry ele1 in Citytable){ Console.WriteLine("{0} = {1}", ele1.Key, ele1.Value);
Im obigen Code drucken wir nun auch den Wertteil des Iterationszählers aus.
Das vollständige Verfahren für diese Änderung ist wie folgt -
using System; using System.Collections; class MyHashTable { // Main Method static public void Main() { // Create a hashtable instance Hashtable Citytable = new Hashtable(); // Adding key/value pair in the hashtable using Add() method Citytable.Add("US", "New York"); Citytable.Add("FR", "Paris"); Citytable.Add("UK", "London"); Citytable.Add("IN", "Mumbai"); Citytable.Add("GER", "Berlin"); //Print hashtable keys Console.WriteLine("Citytable Keys:"); foreach(DictionaryEntry ele1 in Citytable){ Console.WriteLine("{0} = {1}", ele1.Key, ele1.Value); } } }
Citytable Keys: FR = Paris US = New York IN = Mumbai GER = Berlin UK = London
Also, hier zeigen wir die Schlüssel/Wert-Paare von Citytable.
Lass uns mit der nächsten Methode fortfahren.
Bei dieser Methode rufen wir zuerst die Sammlung von Schlüsseln von Hashtable mithilfe der Sammlung ab und drucken diese Schlüssel dann aus. Schlüssel werden als Zeichenfolgenwerte ausgegeben, die nichts anderes als Elemente der Sammlung sind.
Nehmen wir das Beispiel einer Hash-Tabelle in einer Programmiersprache.
{"CPP", "C++"} {"CS", "C#"} {"JAVA", "JAVA"} {"PL", "PERL"} {"JS", "JAVASCRIPT"}
Wir definieren die obige Tabelle als Hash-Tabelle, Langtable im Programm. Anschließend deklarieren wir ein ICollection-Objekt „keys“ und sammeln die Hash-Tabellenschlüssel in diesem Objekt.
ICollection keys = Langtable.Keys;
Sobald wir die Schlüsselsammlung haben, können wir die Sammlung problemlos durchlaufen und jeden Schlüssel als Zeichenfolge anzeigen.
foreach (String k in keys){ Console.WriteLine(k); }
Auf diese Weise können wir jeden Schlüssel in der Hash-Tabelle einzeln anzeigen.
Die vollständige Vorgehensweise für diese Methode finden Sie hier.
using System; using System.Collections; class MyHashTable { // Main Method static public void Main() { // Create a hashtable instance Hashtable Langtable = new Hashtable(); // Adding key/value pair in the hashtable using Add() method Langtable.Add("CPP", "C++"); Langtable.Add("CS", "C#"); Langtable.Add("JAVA", "JAVA"); Langtable.Add("PL", "PERL"); Langtable.Add("JS", "JAVASCRIPT"); //Collection of Hashtable keys ICollection keys = Langtable.Keys; Console.WriteLine("Language Keys:"); foreach (String k in keys){ Console.WriteLine(k); } Console.ReadKey(); } }
Wie bereits besprochen, enthält das obige Programm eine Hash-Tabelle von Programmiersprachen, mit den Sprachcodes als Schlüssel und ihren Namen als Werten. Wir verwenden zunächst ein ICollection-Objekt, um eine Sammlung von Schlüsseln aus der Hash-Tabelle abzurufen. Dann durchlaufen wir dieses Objekt und zeigen die Schlüssel einzeln an.
Language Keys: PL JS CS JAVA CPP
Das Programm zeigt also den Sprachcode (Schlüssel) der Hash-Tabelle an. Wenn wir den Wert für jeden Schlüssel benötigen, können wir ihn ebenfalls ausdrucken, indem wir mit dem angegebenen Schlüssel auf die Hash-Tabelle zugreifen. Diese Modifikation überlassen wir dem Leser.
Daher können wir den Hash-Tabellenschlüssel mithilfe einer der beiden oben besprochenen Methoden aus der Hash-Tabelle abrufen (Zugriff). Obwohl beide Methoden einfach sind, verwenden wir hauptsächlich die erste Methode, die eine for-each-Schleife verwendet, um die Hash-Tabelle für die meisten Sammlungen zu iterieren.
In den folgenden Artikeln werden wir weitere Hashtable-Operationen besprechen, die in C# ausgeführt werden können.
Das obige ist der detaillierte Inhalt vonWie erhalte ich einen Schlüsselwert von HashTable in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!