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.
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.
public virtual void Remove (object key);
Key − Der Schlüssel des Elements, das aus der Hash-Tabellensammlung entfernt werden soll. Dies ist vom Typ System.Object.
Remove(Object)-Methode ist Teil der IDictionarySchnittstelle.
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.
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]); } } }
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.
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
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.
**********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
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.
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(); } }
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.
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.
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!