Information.UBound(Array, Int32) Metoda

Definicja

Zwraca najwyższy dostępny indeks dolny dla wskazanego wymiaru tablicy.

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

Parametry

Array
Array

Required. Tablica dowolnego typu danych. Tablica, w której chcesz znaleźć najwyższy możliwy indeks dolny wymiaru.

Rank
Int32

Optional. Integer. Wymiar, dla którego ma zostać zwrócony najwyższy możliwy indeks dolny. Użyj 1 dla pierwszego wymiaru, 2 dla drugiego itd. W przypadku Rank pominięcia przyjmuje się, że przyjmuje się, że 1.

Zwraca

Integer. Najwyższa wartość indeksu dolnego dla określonego wymiaru może zawierać. Jeśli Array ma tylko jeden element, UBound zwraca wartość 0. Jeśli Array nie ma żadnych elementów, na przykład jeśli jest to ciąg o zerowej długości, UBound zwraca wartość -1.

Wyjątki

Parametr Array ma wartość Nothing.

Rank jest mniejsza niż 1 lub Rank jest większa niż ranga Array.

Przykłady

W poniższym przykładzie użyto UBound funkcji do określenia najwyższego dostępnego indeksu dolnego wskazanego wymiaru tablicy.

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.

Uwagi

Ponieważ indeksy podrzędne tablicy zaczynają się od 0, długość wymiaru jest większa o jeden niż najwyższy dostępny indeks dolny dla tego wymiaru.

W przypadku tablicy z następującymi wymiarami UBound zwraca wartości w poniższej tabeli:

Dim a(100, 5, 4) As Byte
Wywołanie do ruchu UBound Wartość zwracana
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

Można użyć UBound do określenia całkowitej liczby elementów w tablicy, ale należy dostosować wartość zwracaną w celu uwzględnienia faktu, że indeksy dolny zaczynają się od 0. Poniższy przykład oblicza całkowity rozmiar tablicy a w poprzednim przykładzie:

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

Obliczona total wartość to 3030, czyli 101 * 6 * 5.

Dotyczy

Zobacz też