C# | Eliminar la entrada con la clave especificada del StringDictionary

El método StringDictionary.Remove(String) se usa para eliminar la entrada con la clave especificada del diccionario de strings.

Sintaxis:

public virtual void Remove (string key);

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

Excepciones:

  • ArgumentNullException: si la clave es nula.
  • NotSupportedException: si StringDictionary es de solo lectura.

Los siguientes programas ilustran el uso del método StringDictionary.Remove(String) :

Ejemplo 1:

// C# code to remove the entry
// with the specified key from
// the StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        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 keys and values in StringDictionary
        Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
  
        foreach(DictionaryEntry dic in myDict)
        {
            Console.WriteLine(dic.Key + " " + dic.Value);
        }
  
        // Removing the entry with the specified
        // key from the StringDictionary
        myDict.Remove("D");
  
        // Displaying the keys and values in StringDictionary
        Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
  
        foreach(DictionaryEntry dic in myDict)
        {
            Console.WriteLine(dic.Key + " " + dic.Value);
        }
    }
}

Producción:

The number of key/value pairs are : 6
b Banana
c Cat
a Apple
f Fish
d Dog
e Elephant
The number of key/value pairs are : 5
b Banana
c Cat
a Apple
f Fish
e Elephant

Ejemplo 2:

// C# code to remove the entry
// with the specified key from
// the StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        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 keys and values in StringDictionary
        Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
  
        foreach(DictionaryEntry dic in myDict)
        {
            Console.WriteLine(dic.Key + " " + dic.Value);
        }
  
        // Removing the entry with the specified
        // key from the StringDictionary
        // This should raise "ArgumentNullException"
        // as the key is null
        myDict.Remove(null);
  
        // Displaying the keys and values in StringDictionary
        Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
  
        foreach(DictionaryEntry dic in myDict)
        {
            Console.WriteLine(dic.Key + " " + dic.Value);
        }
    }
}

Error de tiempo de ejecución:

Excepción no controlada:
System.ArgumentNullException: el valor no puede ser nulo.
Nombre del parámetro: clave

Nota:

  • Si StringDictionary no contiene un elemento con la clave especificada, StringDictionary permanece sin cambios. No se lanza ninguna excepción.
  • La clave se maneja sin distinguir entre mayúsculas y minúsculas, es decir, se traduce a minúsculas antes de usarse para buscar la entrada que se va a eliminar del StringDictionary.
  • 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 *