Как обновить значение для конкретного ключа в словаре Dictionary<string, int>
?
c#
dictionary
Amit
источник
источник
Ответы:
Просто укажите словарь на данный ключ и назначьте новое значение:
источник
Это возможно путем доступа к ключу в качестве индекса
например:
источник
++dictionary["test"];
илиdictionary["test"]++;
только в том случае, если в словаре есть запись со значением ключа «test» - пример:if(dictionary.ContainsKey("test")) ++dictionary["test"];
else dictionary["test"] = 1; // create entry with key "test"
Вы можете следовать этому подходу:
Преимущество, которое вы получаете, заключается в том, что вы проверяете и получаете значение соответствующего ключа всего за 1 доступ к словарю. Если вы используете
ContainsKey
для проверки существования и обновления значения с помощью,dic[key] = val + newValue;
то вы получаете доступ к словарю дважды.источник
dic.Add(key, newValue);
вы можете использовать использованиеdic[key] = newvalue;
.Использовать LINQ: доступ к словарю для ключа и изменение значения
источник
Вот способ обновления с помощью индекса, например,
foo[x] = 9
гдеx
ключ, а 9 - значение.источник
обновить - изменить только существующие. Чтобы избежать побочного эффекта использования индексатора:
обновить или (добавить новое, если значение не существует в dic)
например:
источник
Это может работать для вас:
Сценарий 1: примитивные типы
Сценарий 2: подход, который я использовал для списка в качестве значения
Надеюсь, что это полезно для тех, кто нуждается в помощи.
источник