У меня есть этот саб:
Private Sub error_out(ByVal line As Integer, ByVal err_col As Integer, ByVal err_msg As String)
Dim ln = t_erori.Rows.Add
ln.Item(0) = line
ln.Item(err_col) = err_msg
ln.Item(3) = err_col
End Sub
Это вызывается несколькими функциями, работающими в цикле parallel.for.
Проблема в том, что иногда (совершенно случайно) я получаю сообщение об ошибке:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
на Dim ln = t_erori.Rows.Add
строке.
Я подозреваю, что это потому, что он пытается дважды добавить одну и ту же строку. Как я могу заставить это работать? Или какой еще метод я мог бы использовать для этого?
Мне нужна эта таблица данных, потому что мое приложение записывает туда некоторые результаты, но подойдет любой другой метод хранения результатов, который работает с parallel.for.