我知道这个错误很常见,但我不知道如何解决这个问题。
我的情况是:
答案 0 :(得分:3)
听起来您正在向窗口2中的某些内容添加数据,这些内容在整个应用程序或窗口2的所有实例中共享。当您再次进入窗口2并填充数据时,您可能正在添加数据到已添加的Dictionary
。因此,消息“已添加具有相同密钥的项目”。
我的建议:在填充数据的代码中加上一个断点,并检查Dictionary
中包含的值(如果您使用了一个并且可以访问它)。然后检查要添加的数据,您应该找到复制。
或者,有多种方法可以防止添加重复的条目。
第一次完成后清除Dictionary
- 这样您只需添加一次数据(除非您的源数据中有重复的条目)。
在添加条目之前,查看密钥是否存在于Dictionary
中。您可以使用if (mSomeDictionary.ContainsKey(someEntryKey))
/
如果您只想使用最新值,则可以覆盖用某个对象键入的数据。您可以使用以下内容执行此操作:mSomeDictionary[someEntryKey] = someValue;
。如果输入密钥尚不存在,则会自动添加新条目。
如果上述任何一个都没有帮助,请发布错误发生的代码,并在抛出的异常中包含堆栈跟踪,我们可以进一步研究它。