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

Optional. 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.

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

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