Вы уже знакомы с оператором Dim, используемым для объявления переменных. Этот же оператор используется и для объявления массивов. В действительности, ключевое слово Dim является сокращением слова <$I[]dimension (измерение)> dimension (измерение). В оригинальном языке программирования BASIC ключевое слово Dim использовалось исключительно для изменения размеров массивов (dimensioning), отсюда и сокращение Dim. Однако современный язык Visual Basic расширил использование ключевого слова Dim до использования со всеми переменными. С помощью Dim можно объявлять как одномерные, так и многомерные массивы.
Объявление массива с помощью оператора Dim имеет следующий синтаксис:
Синтаксис
Dim VarName([Subscripts]) [As Type]
VarName — любое имя для массива, удовлетворяющее VB-правилам для имен идентификаторов. Subscripts — измерение (измерения) массива. Можно объявлять массивы, имеющие до 60 измерений. Для одномерного массива включается один Subscripts; для двумерного массива — два (отделенные друг от друга запятой) и так далее. Каждый Subscripts добавляет новое измерение в массив.
Можно также объявлять массивы, используя ключевые слова Public, Private и Static — точно так же, как для любой другой переменной и с тем же влиянием на область действия. Используйте показанный здесь синтаксис объявления массива и просто подставляйте ключевое слово Public, Private или Static вместо ключевого слова Dim, если необходимо.
Элемент синтаксиса Subscripts имеет следующий синтаксис:
Синтаксис
[lower To] upper [,[lower To] upper]...
Здесь lower определяет нижний диапазон допустимых индексов для массива; upper — верхний предел. Заметьте, что только верхний предел является обязательным; часть lowerTo элемента синтаксиса Subscripts является необязательной. При определении только предела upper элементы массива нумеруются в зависимости от установки Option Base. Если действует установка Option Base 1, Visual Basic нумерует элементы в массиве от 1 до upper; иначе — от 0 до upper.
Включение части lowerTo оператора Subscripts помогает сделать код более легким и понятным, а также выявить ошибки программирования. Это также позволяет определять иной начальный индекс для массива, чем 0 или 1. Например, можно создать массив с элементами, имеющими номера от 5 до 10 или от –5 до 0, в зависимости от конкретной выполняемой задачи.
Подобно обычным объявлениям переменных, можно объявлять определенный тип данных для массива, включая в объявление оператор Astype. При этом type представляет любой допустимый VB-тип— Currency, Double, String и так далее. Можно также объявлять массивы, имеющие определенный пользователем тип. Если опустить type, все элементы в массиве имеют тип Variant.
Visual Basic инициализирует элементы числовых массивов нулями и элементы строковых массивов пустыми строками.
Заметьте, что оператор Subscripts является необязательным. Для создания динамического массива не используйте оператор Subscripts (необходимо включать круглые скобки в объявление массива, независимо от того, определяется ли Subscripts).
Следующие примеры являются допустимыми объявлениями массива:
Dim str_array(1 To 100) As String
Dim variant_array()
Dim str_Multiplication(0 To 15, 0 To 15) As String
Static doMatrixA(2, 2) As Double
Static doMatrixA(1 To 3, 1 To 3) As Double
Dim vaMultiD(1 To 3, 1 To 10, 1 To 15)
При объявлении массивов следует помнить, что включение оператора Subscripts в объявление массива создает массив с фиксированным числом элементов, пропуск оператора Subscripts в объявлении массива создает динамический массив, а установка Option Base может повлиять на общее число элементов в массиве.