我使用下面的代碼:不能添加到收藏在VB.NET(複製除外)
Dim questions = db.Tbl_Challenge_Questions.Where(Function(x) x.Quest_Challenge_ID = challengeId)
Dim answersToQuestions = New Collection
For Each question As Tbl_Challenge_Question In questions
Dim questionId = question.Quest_ID
Dim answer = question.Tbl_Challenge_Question_Answer.Where(Function(x) x.QAns_Question_ID = questionId).FirstOrDefault.QAns_Answer()
Debug.Print("Quest_ID=" + question.Quest_ID.ToString)
Debug.Print("answer=" + answer)
'answersToQuestions.Add(question.Quest_ID, answer)
Next
它輸出這樣的:
Quest_ID=1
answer=True
Quest_ID=2
answer=150 minutes
Quest_ID=3
answer=True
Quest_ID=4
answer=False
Quest_ID=5
answer=Continuing to smoke
當我取消註釋行添加到收藏answersToQuestions.Add(question.Quest_ID, answer)
,它輸出這樣的錯誤:
Quest_ID=1
answer=True
Quest_ID=2
answer=150 minutes
Quest_ID=3
answer=True
A first chance exception of type 'System.ArgumentException' occurred in Microsoft.VisualBasic.dll
The program '[4948] WebDev.WebServer40.EXE: Managed (v4.0.30319)' has exited with code 0 (0x0).
添加失敗。提供重複的鍵值。
似乎沒有任何重複。我如何將所有這些項目添加到我的收藏中?
謝謝。
使用強類型集合,如Dictionary(整數,字符串)不是更好嗎? –
什麼類型的「集合」請提供代碼或鏈接到MSDN – Jodrell
@Jodrell - 我懷疑它是[這一個](http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.collection。 aspx),因爲它是我能找到的唯一一個叫做'Collection'的類,b)不是泛型的,並且c)有一個接受多個參數的'Add'方法。 –