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.