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


Размерность массивов в Visual Basic

Обновлен: Ноябрь 2007

Размерность — это направление, в котором можно изменять спецификацию элементов массива. Массив, содержащий суммы продаж на каждый день месяца, имеет одну размерность (день месяца). Массив, содержащий суммы продаж по каждому отделу на каждый день месяца, имеет два измерения (номер отдела и день месяца). Рангом массива называется число его измерений.

Работа с измерениями

Необходимо указывать элемент массива, указав индекс для каждого из его измерений. Элементы непрерывны вдоль каждого измерения, начиная с индекса 0 до наибольшего индекса для этого измерения.

На следующем рисунке показана общая структура массивов различного ранга. Каждый элемент на иллюстрациях указывает значения индекса при обращениях к нему. Например, можно получить доступ к первому элементу второй строки двумерного массива, указав индексы (1, 0).

Одномерный массив
Графическая схема одномерного массиваДвумерный массив
Графическая схема двухмерного массиваТрехмерный массив
Графическая схема трехмерного массива

Одно измерение

Многие массивы имеют только одно измерение, например, количество людей каждого возраста. Единственное требование при указании элемента — необходимо указывать возраст, для которого этот элемент содержит счетчик. Поэтому такой массив использует только один индекс. В следующем примере объявляется переменная для хранения одномерного массива счетчиков возраста для возраста от 0 до 120.

Dim ageCounts(120) As UInteger

Два измерения

Некоторые массивы имеют два измерения. Например, количество офисов на каждом этаже каждого здания на территории предприятия. Спецификация элемента требует одновременно указания номера здания и этажа. Каждый элемент содержит счетчик для этой комбинации. Таким образом, такой массив использует два индекса. В следующем примере объявляется переменная для хранения двумерного массива из счетчиков офисов для зданий от 0 до 40 и этажей от 0 до 5.

Dim officeCounts(40, 5) As Byte

Двумерный массив также называют прямоугольным массивом.

Три измерения

Некоторые массивы имеют три измерения. Например, координаты в трехмерном пространстве. Такой массив использует три индекса, которые в этом случае представляют координаты физического пространства x, y и z. В следующем примере объявляется переменная для хранения трехмерного массива температуры воздуха в различных точках трехмерного объема.

Dim airTemperatures(99, 99, 24) As Single

Более трех измерений

Хотя массив может иметь до 32 измерений, довольно редко их бывает более трех.

02e7z943.alert_note(ru-ru,VS.90).gifПримечание.

Многомерные массивы и массивы массивов следует использовать с осторожностью, так как при увеличении размерности массива память, необходимая для его хранения, значительно увеличивается.

Использование различных измерений

Предположим, требуется отслеживать суммы продаж за каждый день текущего месяца. Можно объявить одномерный массив с 31 элементом, по одному для каждого дня месяца, как показано в следующем примере.

Dim salesAmounts(30) As Double

Теперь предположим, что требуется отслеживать те же сведения, не только для каждого дня месяца, но и для каждого месяца в году. Можно объявить двумерный массив с 12 строками (для месяцев) и 31 столбцом (для дней), как показано в следующем примере.

Dim salesAmounts(11, 30) As Double

Теперь предположим, что необходимо хранить сведения за более чем один год. Если требуется отслеживать суммы продаж в течение 5 лет, можно объявить трехмерный массив с 5 слоями, 12 строками и 31 столбцом, как показано в следующем примере.

Dim salesAmounts(4, 11, 30) As Double

Обратите внимание, что, так как каждый индекс меняется от 0 до своего максимального значения, каждое измерение массива salesAmounts объявляется как меньшее на единицу, чем требуемая длина этого измерения. Обратите внимание, что размер массива возрастает с каждым новым измерением. Три размера массивов из предыдущих примеров — это 31, 372 и 1860 элементов, соответственно.

См. также

Задачи

Практическое руководство. Объявление переменной типа массива

Практическое руководство. Создание массива

Практическое руководство. Инициализация переменной типа массива

Устранение неполадок, связанных с массивами

Основные понятия

Обзор массивов в Visual Basic

Многомерные массивы в Visual Basic

Массивы массивов в Visual Basic

Типы данных массивов в Visual Basic

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

Массивы в Visual Basic