Heim > Backend-Entwicklung > C#.Net-Tutorial > Wie erhalte ich einen Schlüsselwert von HashTable in C#?

Wie erhalte ich einen Schlüsselwert von HashTable in C#?

王林
Freigeben: 2023-08-28 23:05:15
nach vorne
745 Leute haben es durchsucht

Wie erhalte ich einen Schlüsselwert von HashTable in C#?

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.

Wie bekomme ich Schlüssel aus der Hash-Tabelle?

Wir können zwei Methoden verwenden, um die Schlüssel aus der Hash-Tabelle abzurufen.

  • Verwenden Sie foreach-Schleife und greifen Sie auf die Schlüssel zu

  • , indem Sie die Hash-Tabelle durchlaufen
  • 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.

Verwenden Sie die For-Each-Schleife, um Schlüssel aus der Hash-Tabelle abzurufen

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"}
Nach dem Login kopieren

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);
Nach dem Login kopieren

Dieser Code zeigt jeden Schlüssel in der Hash-Tabelle an.

Beispiel 1

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);
      }      
   }
}
Nach dem Login kopieren

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.

Ausgabe

Citytable Keys:
FR
US
IN
GER
UK
Nach dem Login kopieren

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);
Nach dem Login kopieren

Im obigen Code drucken wir nun auch den Wertteil des Iterationszählers aus.

Beispiel 2

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);
      }      
   }
}
Nach dem Login kopieren

Ausgabe

Citytable Keys:
FR = Paris
US = New York
IN = Mumbai
GER = Berlin
UK = London
Nach dem Login kopieren

Also, hier zeigen wir die Schlüssel/Wert-Paare von Citytable.

Lass uns mit der nächsten Methode fortfahren.

Sammlungen verwenden

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"}
Nach dem Login kopieren

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;
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Auf diese Weise können wir jeden Schlüssel in der Hash-Tabelle einzeln anzeigen.

Beispiel

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();
   }
}
Nach dem Login kopieren

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.

Ausgabe

Language Keys:
PL
JS
CS
JAVA
CPP
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage