2012-02-29 28 views
23

Estoy tratando de eliminar una clave de mi diccionario si la clave es cierta.Eliminar una clave del diccionario por nombre de clave

ParameterList es un dictionary<string,string>

parameterList.Remove(parameterList.Where(k => String.Compare(k.Key, "someKeyName") == 0)); 
+5

Su pregunta no contiene una pregunta. – phoog

+0

Su código anularía el propósito del diccionario. Evite usar LINQ con diccionarios. – Groo

+1

Siempre echaría un vistazo a la [documentación de MSDN] (http://msdn.microsoft.com/en-us/library/kabs04ac.aspx) primero. En mi humilde opinión, este es el mejor lugar para comenzar cuando se busca una respuesta a una pregunta .Net API/SDK. – Samsinite

Respuesta

47

Esto debería ser suficiente:

parameterList.Remove(key); 
21

basta con quitar por la clave:

parameterList.Remove("someKeyName"); 

Para comprobar:

if (parameterList.Remove("someKeyName")) 
{ 
    // key removed 
} 
else 
{ 
    // dictionary doesn't contain above key 
} 
+0

Bueno, tengo que comprobar de alguna manera para ver si esa clave existe, entonces primero supongo, de lo contrario obtendré una excepción de ref nula si no lo hace. – PositiveGuy

+6

@CoffeeAddict, si el diccionario no contiene esta clave, 'Remove' devuelve false; de ​​lo contrario,' true'. –

+0

probablemente algo como if (parameterList ["someKeyName]! = Null) parameterList.Remove (" someKeyName "); – PositiveGuy

Cuestiones relacionadas