Information.UBound(Array, Int32) Метод

Определение

Возвращает наибольший доступный индекс для указанной размерности массива.

public static int UBound (Array Array, int Rank = 1);
static member UBound : Array * int -> int
Public Function UBound (Array As Array, Optional Rank As Integer = 1) As Integer

Параметры

Array
Array

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

Rank
Int32

Необязательный элемент. Integer. Измерение, для которого возвращается максимальный индекс. Используйте 1 для первого измерения, 2 — для второго и т. д. Если параметр Rank опущен, используется значение 1.

Возвращаемое значение

Integer. Может содержать самое большое значение нижнего индекса для указанного измерения. Если массив Array содержит ровно один элемент, метод UBound возвращает значение 0. Если массив Array не содержит элементов (например, является строкой нулевой длины), метод UBound возвращает значение -1.

Исключения

Array имеет значение Nothing.

Параметр Rank меньше 1 или Rank превышает ранг Array.

Примеры

В следующем примере функция используется для UBound определения максимального доступного индекса для указанного измерения массива.

Dim highest, bigArray(10, 15, 20), littleArray(6) As Integer
highest = UBound(bigArray, 1)
highest = UBound(bigArray, 3)
highest = UBound(littleArray)
' The three calls to UBound return 10, 20, and 6 respectively.

Комментарии

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

Для массива со следующими измерениями UBound возвращает значения из следующей таблицы:

Dim a(100, 5, 4) As Byte  
Вызов UBound Возвращаемое значение
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

Можно использовать для UBound определения общего количества элементов в массиве, но необходимо настроить возвращаемое значение с учетом того факта, что индексы начинаются с 0. В следующем примере вычисляется общий размер массива a в предыдущем примере:

Dim total As Integer  
total = (UBound(A, 1) + 1) * (UBound(A, 2) + 1) * (UBound(A, 3) + 1)  

Значение, вычисленное для total , равно 3030, то есть 101 * 6 * 5.

Применяется к

См. также раздел