【问题标题】:How Can I merge two Dictionaries without getting Argument exception on the Key如何在不在键上获得参数异常的情况下合并两个字典
【发布时间】:2022-11-20 06:44:04
【问题描述】:

当我尝试合并两个字典时,我无法弄清楚如何将键和值保留在字典中。由于密钥重复,我不断收到参数异常。当键匹配时,我只想通过 =+ kvp.value 添加值;

我有一个字典列表,其中 第一词典 = kvp = "jump", 2; 2ndDictionary = kvp = "跳跃", 4;

我喜欢合并它们并得到类似的东西: Dictionary = kvp = "跳跃", 6;

我以后可以添加到我的词典列表中

我试图运行我在 stackoverflow 线程中找到的东西。

foreach (var dict in listOfDict)
{
         dict.SelectMany(d => d)
            .ToLookup(pair => pair.Key, pair => pair.Value)
            .ToDictionary(group => group.Key, group => group.First());
}

但我不断得到。

不能从用法中推断出来。尝试明确指定类型参数。

我想避免将所有键和所有值都放在单独的列表中,我稍后会循环以在新字典中添加键和值。

【问题讨论】:

    标签: c# .net dictionary merge


    【解决方案1】:

    如果您因重复键而出现异常,那么听起来您有重复键!

    在尝试合并之前,您是否检查过这两个词典?简单地调用=+ kvp.value而不检查第一本字典是否已经有那个名字的键很可能是你的问题。

    您需要使用该密钥检查现有条目,如果找到,则采取适合您的场景的任何操作(即忽略、覆盖、要求用户决定等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多