【发布时间】:2017-04-14 03:21:47
【问题描述】:
这段代码工作了好几天,在字典中循环就好了。循环开始中断,我在字典中有额外的键,我不知道它们来自哪里。
我正在创建一个带有以下内容的 scripting.dictionary:
Dim riskDict As New Scripting.Dictionary
之后,对象为空,如手表所示:
然后我添加我的第一个密钥/项目对:
riskDict.Add "Weight", Array("WP", 0)
在运行这行代码之后,我现在有了这个:
这两个额外的键(第 2 项和第 3 项)是从哪里来的?!这是一个问题,因为稍后在我的代码中我使用:
For Each key In riskDict
temp = riskDict(key)
...
Next key
这个循环中断了,因为它开始引用的是空的键。这似乎直到现在才发生,并且代码已经运行了几天。 (我在代码的其他地方更改了一些东西,但与此完全无关。)
如果我做了什么可笑的事情,或者遗漏了一些明显的事情,请告诉我,谢谢!
【问题讨论】:
-
您有两个不同的变量
riskDict和riskGroupDict,对吗?由于您没有共享整个代码,因此不清楚。 -
你说得对,但我只是抓住了错误的代码块。我解决了我的问题,但感谢您的提醒!
-
能否请您发布整个
For Each循环代码。请注意,仅引用字典中的某个项目会添加新元素(如果它不存在),而不调用Add方法。 -
我可以,但我觉得这与问题无关。问题发生在循环开始之前。我还需要一点时间才能回到我的办公桌前。
-
riskDict是全局变量吗?