Tengo un diccionario llamado d como se mencionó.
Dictionary<string, int> d = new Dictionary<string, int>(); d["dog"] = 1; d["cat"] = 5;Ahora, si quiero eliminar la clave "gato", no puedo usar el método Eliminar () ya que solo elimina el valor correspondiente asociado y no la clave en sí. Entonces, ¿hay alguna manera de eliminar una clave?
El método Remove() en realidad elimina un par clave-valor existente de un diccionario. También puede usar el método claro para eliminar todos los elementos del diccionario.
var cities = new Dictionary<string, string>(){ {"UK", "London, Manchester, Birmingham"}, {"USA", "Chicago, New York, Washington"}, {"India", "Mumbai, New Delhi, Pune"} }; cities.Remove("UK"); // removes UK //cities.Remove("France"); //throws run-time exception: KeyNotFoundException if(cities.ContainsKey("France")){ // check key before removing it cities.Remove("France"); } cities.Clear(); //removes all elementsPuede leer esto para obtener más información https://www.tutorialsteacher.com/csharp/csharp-dictionary
La documentación es un poco confusa aquí, tienes razón:
Elimina el valor con la clave especificada de Dictionary<TKey,TValue>.
Si se desplaza un poco hacia abajo, verá una mejor redacción:
El siguiente ejemplo de código muestra cómo quitar un par clave/valor de un diccionario mediante el método
Remove.
Nunca hay una clave sin un valor en un diccionario (incluso un valor null sería un valor). Siempre es KeyValuePair<TKey, TValue> . Así que simplemente puede usar Remove para eliminar la entrada de gato.
d.Remove("cat"); // cat gone Console.Write(d.Count); // 1