Heim > Backend-Entwicklung > C#.Net-Tutorial > C#-Programm zum Ersetzen von Elementen in einer Hash-Tabelle durch eine andere Hash-Tabelle

C#-Programm zum Ersetzen von Elementen in einer Hash-Tabelle durch eine andere Hash-Tabelle

PHPz
Freigeben: 2023-09-03 21:45:02
nach vorne
844 Leute haben es durchsucht

将一个哈希表中的项目替换为另一个哈希表中的 C# 程序

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.

Wie ersetze ich ein Element in einer Hashtabelle durch eine andere Hashtabelle?

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

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.

Beispiel

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

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.

Ausgabe

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

Aus der Ausgabe können wir ersehen, dass nach dem Ersetzen der Inhalt von indianNumberSystem durch den Inhalt von langCodes ersetzt wird.

Beispiel

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

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.

Ausgabe

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

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!

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