ПОНЯТНО О Visual Basic NET (том 2)


              

в фигурных скобках задаем через


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim dlina() As Integer = {0, 500, 400, 600}
        Dim summa As Integer
        summa = dlina(1) + dlina(2) + dlina(3)
        Debug.WriteLine(summa)
End Sub
Пояснение: В операторе
        Dim dlina() As Integer = {0, 500, 400, 600}
мы в фигурных скобках задаем через запятую значения подряд всем элементам массива, начиная с нулевого (хоть он нам в данной задаче и не нужен). В этом случае значение верхней границы индекса в круглых скобках не указывается. Однако VB подразумевает, глядя на длину списка в фигурных скобках, что вы объявили массив dlina(3).
Пример. Теперь запишем ту же программу в предположении, что длины удавов заранее не известны и мы их вводим при помощи InputBox. Вдобавок определим, правда ли, что первый удав длиннее второго:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim dlina(3) As Integer
        dlina(1) = InputBox("Введите длину 1-го удава")
        dlina(2) = InputBox("Введите длину 2-го удава")
        dlina(3) = InputBox("Введите длину 3-го удава")
        Debug.WriteLine (dlina(1) + dlina(2) + dlina(3))
        If dlina(1) > dlina(2)  Then  MsgBox("Правда")  Else  MsgBox("Неправда")
End Sub
Нарушение границы. Раз вы объявили границу индекса, то должны ее придерживаться. Так, неправильно было бы теперь написать dlina(4) = 200. Ведь место в памяти под dlina(4) не отведено. В этом случае при выполнении проекта VB выдаст ошибку:
Index was outside the bounds of the array
что означает:
Индекс вышел за границы массива

Содержание  Назад  Вперед