¿Cómo actualizar el valor de una clave específica en un diccionario Dictionary<string, int>
?
c#
dictionary
Amit
fuente
fuente
Respuestas:
Simplemente apunte al diccionario en la clave dada y asigne un nuevo valor:
fuente
Es posible accediendo a la clave como índice
por ejemplo:
fuente
++dictionary["test"];
odictionary["test"]++;
solo si hay una entrada en el diccionario con el valor clave "prueba" - ejemplo:if(dictionary.ContainsKey("test")) ++dictionary["test"];
else dictionary["test"] = 1; // create entry with key "test"
Puedes seguir este enfoque:
La ventaja que obtienes aquí es que verificas y obtienes el valor de la clave correspondiente en solo 1 acceso al diccionario. Si usa
ContainsKey
para verificar la existencia y actualiza el valor usando,dic[key] = val + newValue;
entonces está accediendo al diccionario dos veces.fuente
dic.Add(key, newValue);
usted puede usar el usodic[key] = newvalue;
.Use LINQ: acceda al diccionario para la clave y cambie el valor
fuente
Aquí hay una manera de actualizar por un índice muy parecido a
foo[x] = 9
dondex
es una clave y 9 es el valorfuente
actualizar : modificar solo existente. Para evitar el efecto secundario del uso del indexador:
actualizar o (agregar nuevo si el valor no existe en dic)
por ejemplo:
fuente
Esto puede funcionar para usted:
Escenario 1: tipos primitivos
Escenario 2: El enfoque que utilicé para una Lista como valor
Espero que sea útil para alguien que necesite ayuda.
fuente