Wie entferne ich Elemente aus der Hash-Tabellensammlung in C#?

王林
Freigeben: 2023-09-09 21:01:06
nach vorne
660 Leute haben es durchsucht

如何在 C# 中从哈希表集合中删除项目?

Hashtable in C# ist eine Sammlung von Schlüssel-Wert-Paaren, die auf der Grundlage von Schlüssel-Hash-Codes organisiert sind. Auf Elemente in einer Hashtabelle kann mithilfe von Schlüsseln zugegriffen werden. Die Hashtable-Klasse von C# ist eine Klasse, die Hashtable implementiert.

Mit dieser Klasse können wir mithilfe des bereitgestellten Konstruktors ein neues Hash-Tabellenobjekt erstellen. Die Hashtable-Klasse stellt außerdem verschiedene Methoden bereit, mit denen wir verschiedene Operationen an der Hash-Tabelle durchführen können. Zu diesen Vorgängen gehören das Hinzufügen eines Elements, das Überprüfen, ob ein bestimmter Schlüssel vorhanden ist, das Zählen der Anzahl von Elementen, das Löschen von Elementen aus einer Hash-Tabelle usw.

In diesem Artikel besprechen wir das Entfernen eines Elements aus einer Hash-Tabellensammlung mit einem bestimmten Schlüssel.

Wie lösche ich Elemente aus der Hashtable-Sammlung?

Die

Hashtable-Klasse bietet eine Methode namens „Remove“ zum Entfernen eines Elements aus der Hashtable-Sammlung. Bei gegebenem Schlüssel entfernt die Remove-Methode das Element mit dem angegebenen Schlüssel aus der Hashtabelle.

Der Prototyp der Remove-Methode ist unten angegeben.

Grammatik

public virtual void Remove (object key);
Nach dem Login kopieren

Parameter

  • Key − Der Schlüssel des Elements, das aus der Hash-Tabellensammlung entfernt werden soll. Dies ist vom Typ System.Object.

Erreicht

Die

Remove(Object)-Methode ist Teil der IDictionarySchnittstelle.

Ausnahme

  • ArgumentNullException −Diese Ausnahme wird ausgelöst, wenn der angegebene Schlüssel null ist.

  • NotSupportedException − Wird ausgelöst, wenn die Hash-Tabelle eine feste Größe hat oder schreibgeschützt ist.

Wenn der angegebene Schlüssel nicht in der Hash-Tabelle vorhanden ist, löst die Methode Remove() keine Ausnahme aus. Wenn der Schlüssel nicht vorhanden ist, bleibt die Hash-Tabelle unverändert und das Programm wird erfolgreich ausgeführt.

Programmierbeispiel der Remove()-Methode

Beispiel 1

Das folgende Programm zeigt, wie Sie mit der Remove()-Methode ein Element aus einer Hash-Tabellensammlung entfernen.

using System;
using System.Collections;
  
class MyHashTable {

   public static void Main(){

      // Creating a Hashtable
      Hashtable numberNames = new Hashtable();
  
      // Adding elements in Hashtable
      numberNames.Add("2", "Two");
      numberNames.Add("13", "Thirteen");
      numberNames.Add("24", "Twenty Four");
      numberNames.Add("59", "Fifty Nine");
  
      // Print the contents of Hashtable
      Console.WriteLine("**********Contents of Hashtable**********");
      foreach(var item in numberNames.Keys){
         Console.WriteLine("key ={0}, Value = {1}", item,numberNames[item]);
      }
  
      //read the key for which element is to be deleted
      Console.WriteLine("Enter the key for which the element is to be removed from Hashtable ");
      string key = (string)Console.ReadLine();
      //remove the element
      numberNames.Remove(key);
  
      //display the hashtable after deletion
      Console.WriteLine("******Contents of Hashtable(after deletion)******");
      foreach(var item in numberNames.Keys){
         Console.WriteLine("key ={0}, Value = {1}", item,numberNames[item]);
      }
   }
}
Nach dem Login kopieren

In diesem Programm erstellen wir zunächst eine Hash-Tabelle, in der die Schlüssel Zahlen und die Werte die entsprechenden numerischen Namen sind. Die Hash-Tabelle wird dann auf dem Bildschirm angezeigt. Als nächstes wird der Benutzer aufgefordert, den Schlüssel des Elements einzugeben, das aus der Hash-Tabelle entfernt werden soll. Sobald der Schlüssel eingegeben ist, wird die Remove()-Methode aufgerufen und der Schlüssel als Parameter übergeben. Anschließend den Inhalt der Hash-Tabelle erneut anzeigen. Wenn der Schlüssel in der Hash-Tabelle vorhanden ist, entfernt die Methode Remove() das Element, andernfalls bleibt die Hash-Tabelle unverändert.

Ausgabe

Das Programm generiert die folgende Ausgabe.

**********Contents of Hashtable**********
key =59, Value = Fifty Nine
key =24, Value = Twenty Four
key =13, Value = Thirteen
key =2, Value = Two

Enter the key for which the element is to be removed from Hashtable 
13
******Contents of Hashtable(after deletion)******
key =59, Value = Fifty Nine
key =24, Value = Twenty Four
key =2, Value = Two
Nach dem Login kopieren

Die obige Ausgabe zeigt den Unterschied im Inhalt der Hash-Tabelle vor und nach dem Löschen.

Nun sehen wir uns an, wie sich die Ausgabe ändert, wenn der Benutzer einen Schlüssel eingibt, der nicht in der Hash-Tabelle vorhanden ist. In diesem Fall bleibt, wie bereits erwähnt, die Hash-Tabelle unverändert und es wird keine Ausnahme geworfen. Das Folgende ist die vom obigen Programm generierte Ausgabe.

Ausgabe

**********Contents of Hashtable**********
key =59, Value = Fifty Nine
key =24, Value = Twenty Four
key =13, Value = Thirteen
key =2, Value = Two

Enter the key for which the element is to be removed from Hashtable 
3
******Contents of Hashtable(after deletion)******
key =59, Value = Fifty Nine
key =24, Value = Twenty Four
key =13, Value = Thirteen
key =2, Value = Two
Nach dem Login kopieren

Hier hat der Benutzer den Schlüssel = 3 eingegeben, dieser ist jedoch nicht in der Hash-Tabelle vorhanden. Da in diesem Fall die Remove()-Methode keine Elemente entfernt, bleibt die Hash-Tabelle unverändert.

Beispiel 2

Betrachten wir nun ein weiteres Beispiel für das Löschen einer Hash-Tabelle. Das entsprechende Verfahren ist unten dargestellt.

using System;
using System.Collections;
public class myHashtable{

   public static void Main(){
      // Create a new Hashtable.
      var tongueTwister = new Hashtable();
      tongueTwister.Add("1a", "She");
      tongueTwister.Add("1b", "sells");
      tongueTwister.Add("1c", "sea");
      tongueTwister.Add("2a", "shells");
      tongueTwister.Add("2b", "on");
      tongueTwister.Add("2c", "the");
      tongueTwister.Add("3a", "sea");
      tongueTwister.Add("3b", "shore");
   
      // Displays the Hashtable.
      Console.WriteLine("The Hashtable initially contains the following:");
      foreach (DictionaryEntry elem in tongueTwister)
         Console.WriteLine($"    {elem.Key}:    {elem.Value}");
      Console.WriteLine();

      // Removes the element with the specified key.
      string key = “3b”;

      tongueTwister.Remove(key);

      // Displays the Hashtable after deletion. 
      Console.WriteLine("Hashtable after removing the key =  "{0}":",key);
      foreach (DictionaryEntry elem in tonguetwister)
         Console.WriteLine($"    {elem.Key}:    {elem.Value}");
      Console.WriteLine();
   }
}
Nach dem Login kopieren

In diesem Programm haben wir eine Hash-Tabelle mit dem Zungenbrecher „Sie verkauft Muscheln am Strand“. Wir nummerieren die Tasten 1a, 1b, 1c, 2a, 2b usw. Zuerst zeigen wir die gesamte Hash-Tabelle an. Dann verwenden wir die Methode Remove() und löschen das Element mit key = 3b. Die neu aktualisierte Hash-Tabelle wird erneut angezeigt.

Ausgabe

Das Programm generiert die folgende Ausgabe.

The Hashtable initially contains the following:
    3b:    shore
    1a:    She
    1b:    sells
    2b:    on
    2c:    the
    3a:    sea
    2a:    shells
    1c:    sea

Hashtable after removing the key =  "3b":
    1a:    She
    1b:    sells
    2b:    on
    2c:    the
    3a:    sea
    2a:    shells
    1c:    sea
Note the hashtable after deleting the key = 3b.
Nach dem Login kopieren
Die Methode

Remove() der Klasse Hashtable wird verwendet, um Elemente in der Hash-Tabelle einzeln zu entfernen oder zu löschen. Die Remove()-Methode löst keine Ausnahme aus, wenn der angegebene Schlüssel (Parameter der Methode) nicht in der Hash-Tabelle vorhanden ist. Das Programm wird weiterhin ausgeführt, ohne die Hash-Tabelle zu ändern.

Das ist alles über die Remove()-Methode, die verwendet wird, um ein Element basierend auf einem angegebenen Schlüssel aus einer Hash-Tabellensammlung zu entfernen.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus der Hash-Tabellensammlung 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