Como atualizar o valor de uma chave específica em um dicionário Dictionary<string, int>
?
c#
dictionary
Amit
fonte
fonte
Respostas:
Basta apontar para o dicionário em uma determinada chave e atribuir um novo valor:
fonte
É possível acessando a chave como índice
por exemplo:
fonte
++dictionary["test"];
oudictionary["test"]++;
mas apenas se houver uma entrada no dicionário com o valor da chave "teste" - exemplo:if(dictionary.ContainsKey("test")) ++dictionary["test"];
else dictionary["test"] = 1; // create entry with key "test"
Você pode seguir esta abordagem:
A vantagem que você obtém aqui é que você verifica e obtém o valor da chave correspondente em apenas 1 acesso ao dicionário. Se você
ContainsKey
verificar a existência e atualizar o valor usandodic[key] = val + newValue;
, estará acessando o dicionário duas vezes.fonte
dic.Add(key, newValue);
você pode usar usedic[key] = newvalue;
.Use LINQ: acesso ao dicionário para a chave e altere o valor
fonte
Aqui está uma maneira de atualizar por um índice, bem como
foo[x] = 9
ondex
está uma chave e 9 é o valorfonte
atualizar - modificar apenas existente. Para evitar o efeito colateral do uso do indexador:
update ou (adicione novo se o valor não existir no dic)
por exemplo:
fonte
Isso pode funcionar para você:
Cenário 1: tipos primitivos
Cenário 2: a abordagem que usei para uma lista como valor
Espero que seja útil para alguém que precisa de ajuda.
fonte