1

Я пытаюсь создать приложение, которое обрабатывает файлы пациентов в больнице. Это дает мне ошибку и сообщает мне PatientView = PatientCollection (counter) - ArgumentOutOfRangeException был необработанным. Что это значит и как я могу это исправить?ArgumentOutOfRangeException error

Public Class SelectPatient 

Private Sub SelectPatient_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Label1.Text = "Select Patient" 

    Dim counter As Integer = 0 

    ComboBox1.Items.Clear() 
    For counter = 0 To PatientCollection.Count 
     Dim PatientView As New PatientObject4 
     PatientView = PatientCollection(counter) 
     ComboBox1.Items.Add(PatientView.LastName & "," & PatientView.Firstname) 
    Next 
End Sub 

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged 

    CollectionIndexValue = ComboBox1.SelectedIndex 

    Globals.NewPatientData() 



End Sub 
End Class 

Большое спасибо за ваше время. Высокая оценка

+2

Для counter = 0 Кому PatientCollection.Count-1 – Jekyll

+1

Почему вы удалили свой вопрос? Вы должны либо оставить его как есть, так как это был, по-видимому, совершенно соответствующий вопрос, или удалить его (хотя я бы не рекомендовал это по вышеупомянутой причине). –

+0

в порядке. спасибо – user2114468

ответ

4

Массивов в NET Framework начала с индексом ноля и заканчиваются в Count - 1.

В вашем цикле

For counter = 0 To PatientCollection.Count 

вы остановитесь на графе, так что последний значных берет на себя counter не являетесь действительным ,
Вы должны изменить этот цикл, чтобы

For counter = 0 To PatientCollection.Count - 1 

Свойство Count для массива представляет собой число элементов, содержащихся в массиве. Итак, если первый индекс равен нулю, последний должен быть Count - 1

+0

Спасибо Стив. Я работал. благодаря – user2114468

Смежные вопросы