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 
相關問題