В объявлениях массивов нельзя указывать нижние границы
Обновлен: Ноябрь 2007
Array declarations cannot specify lower bounds
Массивы всегда имеют нулевую нижнюю границу. Можно указать ноль к качестве нижней границы, чтобы сделать код более удобным для чтения. Однако для нижней границы нельзя указать никакое другое значение.
Идентификатор ошибки: BC30805
Исправление этой ошибки
Граница массива должна быть на единицу меньше количества его элементов. Например, Dim y(6) имеет тот же размер, что и Dim x(3 To 9) (7 элементов). Можно также указать Dim y(0 To 6).
Для имитации ненулевой нижней границы можно воспользоваться смещением. Например, в приведенном ниже коде выполняется имитация массива с номерами элементов от 3 до 9.
Const offset As Integer = 3 Dim arrayIndex As Integer ' arrayIndex can vary between 3 and 9. Dim y(0 To 6) ' The preceding statement allocates the same number of elements ' as Dim y(3 To 9). y(arrayIndex - offset) = value ' The preceding statement converts arrayIndex to the ' corresponding index of y.
См. также
Задачи
Практическое руководство. Указание нулевой нижней границы для массива
Основные понятия
Размерность массивов в Visual Basic