2012-04-12 15 views
17

Tengo el siguiente código en C#, básicamente es un diccionario simple con algunas claves y sus valores.¿Cómo actualizar el valor de una clave en el diccionario en C#?

Dictionary<string, int> dictionary = 
    new Dictionary<string, int>(); 
dictionary.Add("cat", 2); 
dictionary.Add("dog", 1); 
dictionary.Add("llama", 0); 
dictionary.Add("iguana", -1); 

Quiero actualizar la clave de 'gato' con el nuevo valor .
¿Cómo podría hacer esto?

+0

? ¿Intentó primero google/bing/preferred-search-engine? – sovanesyan

+1

¡Lo hice y este fue el primer resultado! ¡forma de ser constructivo! –

Respuesta

30

Ha intentado simplemente

dictionary["cat"] = 5; 

:)

actualización

dictionary["cat"] = 5+2; 
dictionary["cat"] = dictionary["cat"]+2; 
dictionary["cat"] += 2; 

Cuidado con las teclas no existentes :)

+0

wowwwww !!!!!! funciona . Gracias @JOHN –

+0

pero ¿y si quiero agregar un nuevo valor al valor existente? –

+0

@AhsanAshfaq, ¿qué quiere decir con "agregar a uno existente"? – walther

0

Sólo tiene que usar el indexador y actualización directamente:

dictionary["cat"] = 3 
15

probar este simple función para añadir un elemento de diccionario si no existe o actualización cuando existe:

public void AddOrUpdateDictionaryEntry(string key, int value) 
    { 
     if (dict.ContainsKey(key)) 
     { 
      dict[key] = value; 
     } 
     else 
     { 
      dict.Add(key, value); 
     } 
    } 

Esto es lo mismo que dict [clave] = valor.

+2

Eso es lo mismo que 'dict [key] = value' en una línea. También me gustaría llamar al funcation 'AddOrUpdate' – nawfal

+0

@nawfal No son lo mismo, la diferencia es que primero busca la clave. Si existe, agrega el nuevo valor si no crea una nueva entrada. Buen punto en el nombre de la función sin embargo. – cubski

+2

que es lo mismo que 'dict [key] = value' .. ¿Qué crees que hace' dict [key] = value'? – nawfal

0

El diccionario es un par de valores clave. Clave captura por

dic["cat"] 

y asignar su valor como

dic["cat"] = 5 
Realmente
Cuestiones relacionadas