Heim >Backend-Entwicklung >C#.Net-Tutorial >Wie erstelle ich eine HashTable-Sammlung in C#?

Wie erstelle ich eine HashTable-Sammlung in C#?

PHPz
PHPznach vorne
2023-08-31 23:13:021047Durchsuche

如何在 C# 中创建 HashTable 集合?

HashTable ist eine nicht generische Sammlung in C#. Es speichert Schlüssel-Wert-Paare, ähnlich einer universellen „Wörterbuch“-Sammlung. HashTable ist in

definiert
System. Collections. namespace.

HashTable berechnet den Hash-Code für jeden Schlüssel und speichert ihn intern in verschiedenen Buckets. Wenn dann auf den Wert zugegriffen wird, wird der Hash-Code mit dem Hash-Code des angegebenen Schlüssels abgeglichen. Daher werden Suchvorgänge über HashTable optimiert.

In diesem Tutorial erfahren Sie, wie Sie eine HashTable-Sammlung in C# erstellen.

Hash-Tabellenfunktion

Bevor wir mit der Erstellung von HashTable beginnen, schauen wir uns einige der bemerkenswerten Funktionen der HashTable-Sammlung in C# an.

HashTable-Sammlung speichert Schlüssel-Wert-Paare.

Die Hash-Tabelle ist Teil des Systems. Sammlungsnamespace in C# und implementiert die IDictionary-Schnittstelle. Die Elemente einer HashTable werden als DictionaryEntry-Objekte gespeichert.

Der Schlüssel der Hash-Tabelle darf nicht leer sein und muss eindeutig sein. Der Wert kann jedoch leer oder doppelt sein.

Auf Werte in einer Hash-Tabelle kann über Schlüssel im Indexer zugegriffen werden, genau wie auf Array-Werte.

Schlüssel in HashTable sind unveränderliche Objekte. Jedes dieser Schlüsselobjekte stellt eine Hash-Funktion bereit.

Eine typische Hashtable-Klasse implementiert die Schnittstellen IDictionary, ICollection, ISerializable, IEnumerable, IDeserializationCallback und ICloneable von C#.

Die in HashTable gespeicherten Elemente können vom gleichen Typ oder unterschiedlichen Typen sein.

Lassen Sie uns nun unter Berücksichtigung dieser herausragenden Funktionen besprechen, wie Sie eine Hash-Tabelle in C# erstellen.

Wie erstelle ich eine HashTable-Sammlung in C#?

C#s HashTable-Klasse bietet 16 überladene Konstruktoren zum Erstellen von HashTable.

Die folgende Tabelle zeigt den HashTable-Konstruktor, den wir in diesem Artikel verwenden werden.

Konstrukteur Beschreibung
HashTable() Initialisieren Sie eine neue, leere Instanz der HashTable-Klasse mit standardmäßiger Anfangskapazität, Hash-Code-Anbieter, Komparator und Auslastungsfaktor.
Hash-Tabelle (IDictionary) Erstellt eine neue Instanz der Hashtable-Klasse und initialisiert sie mit dem Inhalt des angegebenen Wörterbuchs.

HINWEIS- Um mehr über die HashTable-Klasse in C# zu erfahren, lesen Sie unseren Artikel C# – HashTable-Klasse.

Sehen wir uns die Schritte an, die normalerweise zum Erstellen einer HashTable-Sammlung in C# ausgeführt werden.

Zuerst nehmen wir den Namespace System.collection in unser Programm auf

using System. Collections;

Als nächstes erstellen wir eine Hash-Tabelle mit der Hashtable-Klasse. Hierzu verwenden wir den Standardkonstruktor.

Hashtable hashtable_name = new Hashtable();

Jetzt können wir mit der Methode „Add()“ Elemente zur HashTable hinzufügen.

Hier können wir also die gesamte HashTable initialisieren, während wir eine HashTable-Instanz erstellen, oder wir können die Add()-Methode verwenden, um Elemente nacheinander zur HashTable hinzuzufügen.

Beispiel 1

Das folgende Programm demonstriert das Erstellen einer HashTable mit C#.

using System;
using System. Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create hashtable using the default constructor
      Hashtable indianNumberSystem = new Hashtable();
      
      //add a key/value pair using the Add() method
      indianNumberSystem.Add(1,"Ones"); 
      indianNumberSystem.Add(10,"Tens");
      indianNumberSystem.Add(100,"Hundred");
      indianNumberSystem.Add(1000,"Thousand");
      indianNumberSystem.Add(10000,"Ten Thousand");
      indianNumberSystem.Add(100000,"Lac");
      indianNumberSystem.Add(1000000,"Ten Lac");
      indianNumberSystem.Add(10000000,"Crore");
      
      //display HashTable contents
      Console.WriteLine("Key, Value pairs from Indian Number System:");
      foreach(DictionaryEntry ele1 in indianNumberSystem){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }      
   }
}

Im obigen Programm haben wir eine HashTable-Instanz mit dem Standardkonstruktor definiert. Dann fügen wir die Schlüssel/Wert-Paare mit der Methode Add() zur HashTable hinzu. Verwenden Sie abschließend eine for-each-Schleife, um den Inhalt der HashTable nacheinander auszudrucken.

Ausgabe

Das obige Programm generiert die folgende Ausgabe.

Key, Value pairs from Indian Number System:
100 (Hundred) 
1000 (Thousand) 
10 (Tens) 
1000000 (Ten Lac) 
100000 (Lac) 
10000000 (Crore) 
10000 (Ten Thousand) 
1 (Ones)

Das Programm zeigt eine Hash-Tabelle mit den Ortswerten des indischen Zahlensystems an. Beachten Sie, dass die Ausgabe unformatiert ist, da es sich um ein einfaches Programm handelt, das eine Hash-Tabelle erstellt und Inhalte hinzufügt.

Beispiel 2

Nehmen wir ein weiteres Beispiel für die Erstellung einer HashTable in C#. Das folgende Programm verwendet verschiedene Konstruktoren, um eine HashTable zu erstellen.

using System;
using System.Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create hashtable without using Add method
      Hashtable my_hashtable1 = new Hashtable() {{"K1", "New York"}};

      // Adding key/value pair in the hashtable using Add() method
      my_hashtable1.Add("K2", "Paris");
      my_hashtable1.Add("K3", "London");
      my_hashtable1.Add("K4", "Mumbai");
      my_hashtable1.Add("K5", "Berlin");
      
      Console.WriteLine("Key, Value pairs from my_hashtable1:");
      foreach(DictionaryEntry ele1 in my_hashtable1){
         Console.WriteLine("{0} and {1} ", ele1.Key, ele1.Value);
      }      
   }
}

Wie wir im obigen Code sehen können, erstellen wir zunächst ein HashTable-Objekt mit einem Schlüssel-Wert-Paar. Dann fügen wir der HashTable Elemente hinzu, indem wir die Methode add() der HashTable-Klasse verwenden. Schließlich iterieren Sie mithilfe einer for-each-Schleife über das HashTable-Objekt, um jedes hashTable-Element (Schlüssel-Wert-Paar) auszugeben.

Ausgabe

Das obige Programm erzeugt die folgende Ausgabe.

Key, Value pairs from my_hashtable1:
K2 and Paris 
K1 and New York 
K3 and London 
K4 and Mumbai 
K5 and Berlin 

In der obigen Ausgabe werden die Schlüssel-Wert-Paare in umgekehrter alphabetischer Reihenfolge der Werte angezeigt. Dies ist die Standardausgabe der Hash-Tabelle, da wir keinen Code zum Formatieren der Ausgabe bereitgestellt haben. Die HashTable-Klasse bietet verschiedene Methoden zum Organisieren/Formatieren der Ausgabe, die wir in den folgenden Tutorials kennenlernen werden.

In diesem Tutorial haben wir besprochen, wie man eine HashTable-Sammlung in C# erstellt. HashTable ist eine nicht generische Sammlung von Schlüssel-Wert-Paaren. Die Schlüssel in der HashTable sind eindeutige Nicht-Null-Werte. Werte können leer und wiederholt sein. Wir können eine HashTable in C# mit der von Systems bereitgestellten HashTable-Klasse erstellen. Sammlungsschnittstelle und ändern Sie sie mithilfe der verschiedenen von dieser Klasse bereitgestellten Methoden.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine HashTable-Sammlung in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen