В строке `Если aryTemp (1) < aryTemp2 (1) Затем индексVB.Net NullReferenceException
находился вне границ этого массива.
ошибка появляется. Не могу понять, почему это будет за пределами границ массива. В основном пытается сравнить последние имена, чтобы отсортировать записи и поместить их обратно в список.
Private Sub btnAscending_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAscending.Click
'load all students into array
Dim arySort(numberOfRecords) As String
Dim aryTemp(6) As String
Dim aryTemp2(6) As String
For i = 0 To numberOfRecords - 1
arySort(i) = lstListBox.Items(i)
Next
Dim temp As String 'holds temporary record
Dim k As Integer
For i = 0 To arySort.Length - 2
aryTemp = Split(arySort(i), " ")
For k = i + 1 To arySort.Length - 1
aryTemp2 = Split(arySort(k), " ")
If aryTemp(1) < aryTemp2(1) Then
temp = arySort(k)
arySort(k) = arySort(i)
arySort(i) = temp
End If
Next
Next
lstListBox.Items.Clear()
numberOfRecords = 0
isLoaded = False
For i = 0 To arySort.Length - 1
lstListBox.Items.Add(arySort(i))
numberOfRecords += 1
Next
currentRecord = 0
isLoaded = True
End Sub
Адрес, если ваш код отличается точностью? – 2010-11-29 23:45:18
С каких пор вы можете выделить массив в VB.NET без ключевого слова `New`? Разве это не правильный синтаксис `Dim aryTemp as New String (6)`, или я чего-то здесь не вижу? – ja72 2010-11-29 23:55:21