Что я здесь сделал, это сохранить таблицу из двух столбцов в архаристе и словаре.vb.net arraylist dictionary loop
Dim result As New ArrayList()
While dr.Read()
' Insert each column into a dictionary
Dim dict As New Dictionary(Of String, Object)
For count As Integer = 0 To (dr.FieldCount - 1)
dict.Add(dr.GetName(count), dr(count))
Next
' Add the dictionary to the ArrayList
result.Add(dict)
End While
......... Теперь я хочу, чтобы пройти через это, и когда он нашел - удалить его. Его для экономии времени, поскольку есть много данных. Я получаю ошибку «Коллекция была изменена, операция перечисления может не выполняться». после удаления и перехода к следующему. Я понимаю проблему, но как мне это преодолеть? Как преобразовать его в цикл с удалением?
For Each dat As Dictionary(Of String, Object) In result
comp2 = dat("ID")
If comp2 = comp Then
advcode = advcode & "," & dat("ADVC")
found = True
firstattempt = False
result.Remove(dat)
Else
If found And Not firstattempt Then Exit For
End If
Next
Если элемент не найден, вы будете застряли в бесконечный цикл .... – sloth
Вы правы. Я просто предложил цикл «While», но код должен быть изменен, чтобы избежать этой проблемы. Исправленный. – SysDragon