Eine Hash-Tabellensammlung in C# ist eine nicht generische Sammlung von Schlüssel-Wert-Paaren, die auf der Grundlage des Hash-Codes des Schlüssels organisiert sind. Schlüssel werden verwendet, um auf Elemente in einer Hash-Tabellensammlung zuzugreifen. Hashing hilft uns, Daten effizient abzurufen und macht teure Datensuchtechniken überflüssig. Hashing-Techniken verwenden den Schlüssel selbst, um die Daten zu lokalisieren. Der Hash-Tabellenschlüssel ist unveränderlich und doppelte Einträge sind in der Hash-Tabelle nicht zulässig.
Die Hashtable-Klasse ist im System.Collections-Namespace definiert und stellt eine Basisklassenbibliothek für Hash-Tabellensammlungen in C# bereit. Diese Hashtable-Klasse wird verwendet, um eine Sammlung von Schlüssel-Wert-Paaren zu erstellen, die in einer Hash-Tabelle gespeichert sind. Die Suche nach einem bestimmten Schlüssel wird optimiert, indem der Hash-Code des Schlüssels berechnet und in einem anderen Korb gespeichert wird. Wenn wir auf einen Wert aus der Hash-Tabelle zugreifen, gleicht dieser den Hash-Code mit dem angegebenen Schlüssel ab.
In diesem Tutorial besprechen wir eine Möglichkeit, ein Element oder Element in einer Hash-Tabelle durch ein Element oder Element aus einer anderen Hash-Tabelle zu ersetzen.
Die oben besprochene Hashtable-Klasse bietet Konstruktoren zum Erstellen von Hashtable-Objekten und Methoden zum Hinzufügen und Entfernen von Elementen und zum Überprüfen, ob ein Element, ein Schlüssel oder ein Wert in der Hashtable vorhanden ist. Es bietet auch Eigenschaften zum Überprüfen, ob die Hashtabelle leer ist, zum Berechnen der Anzahl der Elemente in der Hashtabelle usw.
Aber es erlaubt unserer Methode nicht, ein gesamtes Hashtabellenelement aus einer anderen Hashtabelle zu ersetzen. Wir können einzelne Artikel durch Ersetzen von Werten ersetzen.
Um den Inhalt der gesamten Hash-Tabelle durch den Inhalt einer anderen Hash-Tabelle zu ersetzen, durchlaufen wir normalerweise die gesamte zweite Hash-Tabelle und ersetzen den Inhalt der ersten Hash-Tabelle durch den Inhalt der zweiten Hash-Tabelle.
Wir werden die unten gezeigte Methode verwenden.
foreach (DictionaryEntry item in secondHashtable) { firstHashtable[item.Key] = item.Value; Console.WriteLine("{0} ({1}) ", item.Key, item.Value); }
Zuerst iterieren wir über die zweite Hash-Tabelle und ersetzen die Schlüssel-Wert-Paare der ersten Hash-Tabelle durch jedes Schlüssel-Wert-Paar der zweiten Hash-Tabelle.
Das gesamte Programm zur Implementierung dieser Methode ist unten dargestellt.
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"); Console.WriteLine("Contents of indianNumberSystem hashtable:"); foreach(DictionaryEntry ele1 in indianNumberSystem){ Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value); } Hashtable langCodes = new Hashtable(); langCodes.Add("C++","CPlusPlus"); langCodes.Add("C#","CSharp"); langCodes.Add("Java","Java"); langCodes.Add("PL","Perl"); Console.WriteLine("Contents of langCodes Hashtable:"); foreach(DictionaryEntry ele1 in langCodes){ Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value); } Console.WriteLine("After Replacing with langCodes, indianNumberSystem: "); foreach (DictionaryEntry item in langCodes) { indianNumberSystem[item.Key] = item.Value; Console.WriteLine("{0} ({1}) ", item.Key, item.Value); } } }
Hier haben wir zwei Hash-Tabellen, indianNumberSystem und langCodes. Wir füllen zwei Hash-Tabellen mit Werten und zeigen dann deren Inhalt an. Anschließend durchlaufen wir die Hash-Tabelle langCodes und ersetzen jedes Element der Hash-Tabelle indianNumberSystem durch ein Element der Hash-Tabelle langCodes.
Die Ausgabe dieses Programms wird unten angezeigt.
Contents of indianNumberSystem hashtable: 1000 (Thousand) 10 (Tens) 100 (Hundred) 1 (Ones) Contents of langCodes Hashtable: Java (Java) C# (CSharp) PL (Perl) C++ (CPlusPlus) After Replacing with langCodes, indianNumberSystem: Java (Java) C# (CSharp) PL (Perl) C++ (CPlusPlus)
Aus der Ausgabe können wir ersehen, dass nach dem Ersetzen der Inhalt von indianNumberSystem durch den Inhalt von langCodes ersetzt wird.
Schauen wir uns nun das nächste Beispiel an.
In diesem Beispiel haben wir zwei Hash-Tabellen: indianNumberSystem und numSys. Hier füllen wir nicht die Hash-Tabelle indianNumberSystem. Wir erstellen einfach ein Objekt. Die folgenden Werte wurden mithilfe der Add-Methode zur numSys-Hash-Tabelle hinzugefügt.
1 |
eins |
10 |
十 |
100 |
Einhundert |
1000 |
Tausende |
Das vollständige Programm für dieses Beispiel ist unten dargestellt.
using System; using System. Collections; class MyHashTable { // Main Method static public void Main() { // Create hashtable using the default constructor Hashtable indianNumberSystem = new Hashtable(); Hashtable numSys = new Hashtable(); numSys.Add(1,"Ones"); numSys.Add(10,"Tens"); numSys.Add(100,"Hundred"); numSys.Add(1000,"Thousand"); Console.WriteLine("Contents of numSys Hashtable:"); foreach(DictionaryEntry ele1 in numSys){ Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value); } Console.WriteLine("After Replacing with numSys, indianNumberSystem: "); foreach (DictionaryEntry item in numSys) { indianNumberSystem[item.Key] = item.Value; Console.WriteLine("{0} ({1}) ", item.Key, item.Value); } } }
Hier verwenden wir die gleiche Methode wie im ersten Programm, der einzige Unterschied besteht darin, dass die erste Hash-Tabelle leer ist. Anschließend ersetzen oder verschieben wir die Einträge der zweiten Hash-Tabelle direkt in die erste Hash-Tabelle.
Die Ausgabe dieses Programms ist unten angegeben.
Contents of numSys Hashtable: 1000 (Thousand) 10 (Tens) 100 (Hundred) 1 (Ones) After Replacing with numSys, indianNumberSystem: 1000 (Thousand) 10 (Tens) 100 (Hundred) 1 (Ones)
Wie die Ausgabe des Programms zeigt, ist der Inhalt der Tabelle numSys jetzt der Inhalt von indianNumberSystem.
Durch die Verwendung einer einfachen Schleife und das Durchlaufen der Hash-Tabelle können wir ein darin enthaltenes Element durch eine andere Hash-Tabelle ersetzen.
Das obige ist der detaillierte Inhalt vonC#-Programm zum Ersetzen von Elementen in einer Hash-Tabelle durch eine andere Hash-Tabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!