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

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

Rank
Int32

Opcjonalny. Integer. Wymiar, dla którego ma zostać zwrócony najwyższy możliwy indeks dolny. Użyj wartości 1 dla pierwszego wymiaru, 2 dla drugiego i tak dalej. 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

Array to Nothing.

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

Przykłady

W poniższym przykładzie użyto UBound funkcji , aby określić najwyższy dostępny indeks dolny dla 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 dolny tablicy zaczynają się od 0, długość wymiaru jest większa o jeden niż najwyższy dostępny indeks dolny dla tego wymiaru.

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

Dim a(100, 5, 4) As Byte  
Wywołanie interfejsu 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 wartość total to 3030, czyli 101 * 6 * 5.

Dotyczy

Zobacz też