我已经查看了与我面临的问题类似的各种帖子,但似乎无法确定问题所在!
我将提供一些关于我的流程的背景知识......
我有一个listview,在这个例子中,包含4行。列表视图中的两个关键字段是第0列和第1列,因此我将它们连接在一起以生成密钥并将它们添加到列表中,我已经选择了一个字典(字符串,整数)来保存数据
一旦这个字典加载了这些项目,就会启动一个后台工作程序,它循环遍历字典项并进行工作。它一次只做一个,但主要原因是应用程序仍然可以使用,同时它的工作和更多的项目可以添加到listview中,后台工作人员将在循环时自动获取(它只在一个项目处工作)虽然如此)。
当后台工作者完成该项目的工作时,它将使用variable.remove(key)函数从Dictionary中删除该项目,这是我遇到问题的地方。当我尝试从词典中删除一个项目时,我收到了消息"字典中没有给定的密钥"
我的细分代码如下......
Dim DevWorker_Item As New Dictionary(Of String, Integer)
Dim WhichKeyUsing As String
.... Process here adds items to the DevWorker_Item variable which gives me the following keys and values...
TABLE_A 4023
TABLE_B 1010
TABLE_C 42
TABLE_D 2020
Do Until DevWorker_Item.Count = 0
WhichKeyUsing = DevWorker_Item.Keys.First()
... Do work now on that Key writing data to file etc ...
If DevWorker_Item.ContainsKey(WhichKeyUsing) Then
DevWorker_Item.Remove(WhichKeyUsing)
End If
Loop
我错过了什么,我已经做了一个测试,看看在删除之前是否将Dictionary作为键,但是在DevWorker_Item.Remove(WhichKeyUsing)我得到了错误。
由于