1

虽然在visual studio 2010中创建此程序,但遇到了问题。在Visual Basic中使用字典:已添加具有相同密钥的项目

我读了一个文本文件的内容,并搜索每一行以确保何时添加新产品,他们没有现有的ID相同。文件的内容是这样的:

0001|Unsmoked Middle Bacon 
0002|Smoked Middle bacon 
0003|Unsmoked Bits 

因此,如果用户尝试添加值“0001”弹簧它的错误。只有我的代码是如雨后春笋般出现错误...

appPath = Application.StartupPath 
    productDB = New Dictionary(Of Integer, String) 
    For Each line In IO.File.ReadAllLines(appPath & "/productlist.txt") 
     Dim data = line.Split("|") 
     productDB.Add(CInt(data(0)), data(1)) 
    Next 


If productDB.ContainsKey(newID) Then 
     MsgBox("Prompt of same ID") 
    Else 
     MsgBox("Accepted fine") 
    End If 
上线

- productDB.Add(CINT(数据(0)),数据(1)) - 我似乎雨后春笋错误

ArgumentException was unhandled. 

An item with the same key has already been added. 

人金润通一直在提他们的resources.resx文件搞乱的东西了,但我已经试过各种并没有什么似乎是帮助:(

欢呼声, 罗比。

+0

newId分配在哪里? –

+1

您文件中的某个位置有多次相同的ID。请记住'0001'是'00001','01'或者只是'1'的_same_整数,并且所有这些都将导致相同的密钥。 –

+0

那么我应该如何使用它作为一个字符串? –

回答

1

我自己的愚蠢的错误。

在文本文件中已经有一个重复项。 (我有大约40行)

所以这与我想输入的4位数字没有任何关系,错误发生在每行读取时发生。

"D'oh" - Homer Simpson 
相关问题