HashTable ist eine nicht generische Sammlung in C#. Es speichert Schlüssel-Wert-Paare, ähnlich einer universellen „Wörterbuch“-Sammlung. HashTable ist in
definiertSystem. 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.
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.
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.
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.
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.
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.
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!