C# | Eliminación de la entrada clave especificada de HybridDictionary

El método HybridDictionary.Remove(Object) se usa para eliminar la entrada con la clave especificada del HybridDictionary.

Sintaxis:

public void Remove (object key);

Aquí, clave es la clave de la entrada a eliminar.

Excepción: este método lanza ArgumentNullException si la clave es nula .

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 1:

// C# code to remove the entry
// with the specified key from
// the HybridDictionary.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary named myDict
        HybridDictionary myDict = new HybridDictionary();
  
        // Adding key/value pairs in myDict
        myDict.Add("A", "Apple");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
        myDict.Add("E", "Elephant");
        myDict.Add("F", "Fish");
  
        // Displaying the number of key/value
        // pairs in HybridDictionary myDict
        Console.WriteLine("Number of key/value pairs in myDict are : " 
                                                      + myDict.Count);
  
        // Displaying the key/value pairs in myDict
        Console.WriteLine("The key/value pairs in myDict are : ");
  
        foreach(DictionaryEntry de in myDict)
        {
            Console.WriteLine(de.Key + " --> " + de.Value);
        }
  
        // Removing the entry with the
        // specified key from the HybridDictionary.
        myDict.Remove("C");
  
        // Displaying the number of key/value
        // pairs in HybridDictionary myDict
        Console.WriteLine("Number of key/value pairs in myDict are : " 
                                                      + myDict.Count);
  
        // Displaying the key/value pairs in myDict
        Console.WriteLine("The key/value pairs in myDict are : ");
  
        foreach(DictionaryEntry de in myDict)
        {
            Console.WriteLine(de.Key + " --> " + de.Value);
        }
    }
}

Producción:

Number of key/value pairs in myDict are : 6
The key/value pairs in myDict are : 
A --> Apple
B --> Banana
C --> Cat
D --> Dog
E --> Elephant
F --> Fish
Number of key/value pairs in myDict are : 5
The key/value pairs in myDict are : 
A --> Apple
B --> Banana
D --> Dog
E --> Elephant
F --> Fish

Ejemplo 2:

// C# code to remove the entry
// with the specified key from
// the HybridDictionary.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary named myDict
        HybridDictionary myDict = new HybridDictionary();
  
        // Adding key/value pairs in myDict
        myDict.Add("I", "first");
        myDict.Add("II", "second");
        myDict.Add("III", "third");
        myDict.Add("IV", "fourth");
        myDict.Add("V", "fifth");
  
        // Displaying the number of key/value
        // pairs in HybridDictionary myDict
        Console.WriteLine("Number of key/value pairs in myDict are : "
                                                      + myDict.Count);
  
        // Displaying the key/value pairs in myDict
        Console.WriteLine("The key/value pairs in myDict are : ");
  
        foreach(DictionaryEntry de in myDict)
        {
            Console.WriteLine(de.Key + " --> " + de.Value);
        }
  
        // Removing the entry with the
        // specified key from the HybridDictionary.
        // This should raise "ArgumentNullException"
        // as the key is "null"
        myDict.Remove(null);
  
        // Displaying the number of key/value
        // pairs in HybridDictionary myDict
        Console.WriteLine("Number of key/value pairs in myDict are : " 
                                                      + myDict.Count);
  
        // Displaying the key/value pairs in myDict
        Console.WriteLine("The key/value pairs in myDict are : ");
  
        foreach(DictionaryEntry de in myDict)
        {
            Console.WriteLine(de.Key + " --> " + de.Value);
        }
    }
}

Error de tiempo de ejecución:

Excepción no controlada:
System.ArgumentNullException: la clave no puede ser nula.
Nombre del parámetro: clave

Nota:

  • Si HybridDictionary no contiene un elemento con la clave especificada, HybridDictionary permanece sin cambios. No se lanza ninguna excepción.
  • Si la colección ya está almacenada en Hashtable y la cantidad de elementos cae por debajo del tamaño óptimo para ListDictionary, la colección permanece en Hashtable para evitar la sobrecarga de copiar elementos de Hashtable nuevamente a ListDictionary.
  • Este método es una operación O(1) .

Referencia:

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *