Поделиться через


В объявлениях массивов нельзя указывать нижние границы

Обновлен: Ноябрь 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

Другие ресурсы

Массивы в Visual Basic