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


Функция 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.

Исключения

Тип исключения

Номер ошибки

Условие

ArgumentNullException

9

Значение параметра Array — Nothing

RankException

9

Параметр 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)

См. также

Ссылки

Функция LBound (Visual Basic)

Оператор Dim (Visual Basic)

Оператор ReDim (Visual Basic)

ArgumentException

RankException