【问题标题】:How to update value of a key in dictionary in c#? [duplicate]如何在 C# 中更新字典中键的值? [复制]
【发布时间】:2012-04-24 18:25:27
【问题描述】:

我在 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);

我想用新值 5 更新键 'cat'。
我怎么能这样做?

【问题讨论】:

  • 真的吗?您是否先尝试了 google/bing/prefered-search-engine?
  • 我做到了,这是第一个结果!建设性的方式!

标签: c# c#-4.0 dictionary key-value


【解决方案1】:

你试过了吗

dictionary["cat"] = 5;

:)

更新

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

小心不存在的键 :)

【讨论】:

  • 哇哇哇!!!!!!有用 。谢谢@JOHN
  • 但是如果我想在现有值中添加新值怎么办?
  • @AhsanAshfaq,“添加到现有的”到底是什么意思?
  • 好吧@JHON 它也有效。谢谢哥们,你真的帮了我,非常感谢你
  • 只检查一个键是否存在并更新它的值,如果不存在则添加一个新的字典条目。
【解决方案2】:

试试这个简单的函数来添加一个字典项,如果它不存在,或者当它存在时更新:

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

这与 dict[key] = value 相同。

【讨论】:

  • 在一行中与dict[key] = value 相同。我也将调用函数AddOrUpdate
  • dict[key] = value一样。你觉得dict[key] = value有什么作用?
  • @nawfal 你是对的。我一直认为 dict[key] 当密钥不存在时会抛出异常。你每天学习新的东西。谢谢。
  • dict[key] 会在 key 不存在时抛出 KeyNotfoundException。你必须设置它来创建它。 dict[key] = 值
  • 是的,我不是很清楚。 var x = dict[key] 将在 key 不存在时抛出。 dict[key] = x在key不存在时不会抛出
【解决方案3】:

只需使用索引器并直接更新:

dictionary["cat"] = 3

【讨论】:

    【解决方案4】:

    字典是键值对。抓钥匙

    dic["cat"] 
    

    并像这样分配它的值

    dic["cat"] = 5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2021-10-07
      • 2013-02-05
      • 2021-07-28
      • 1970-01-01
      • 2019-07-15
      • 2018-11-11
      • 1970-01-01
      相关资源
      最近更新 更多