Функция UBound (Visual Basic)
Обновлен: Ноябрь 2007
Возвращает наибольший доступный индекс для указанного измерения массива.
Public Function UBound( _
ByVal Array As System.Array, _
Optional ByVal Rank As Integer = 1 _
) As Integer
Параметры
Array
Обязательно. Массив любого типа данных. Массив, в котором осуществляется поиск наибольшего возможного индекса измерения.Rank
Необязательно. Integer. Измерение, для которого возвращается максимальный возможный индекс. Используйте 1 для первого измерения, 2 — для второго и т.д. Если параметр Rank опущен, используется значение 1.
Возвращаемое значение
Integer. Может содержать самое большое значение нижнего индекса для указанного измерения. Если в массиве Array только один элемент, то UBound возвращает 0. Если Array не содержит элементов, например, если он является строкой нулевой длины, то UBound возвращает -1.
Исключения
Тип исключения |
Номер ошибки |
Условие |
---|---|---|
Значение параметра Array — Nothing |
||
Параметр Rank меньше 1 или Rank превышает ранг Array. |
См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует изменить такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.
Заметки
Поскольку значения индексов массива начинаются с 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.
Пример
В приведенном ниже примере показано применение функции 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.
Требования
Пространство имен: Microsoft.VisualBasic
Модуль: Information
Сборка: Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)