Information.UBound(Array, Int32) Metódus

Definíció

Egy tömb megadott dimenziójának legmagasabb rendelkezésre álló alsó indexét adja vissza.

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

Paraméterek

Array
Array

Kötelező. Bármilyen adattípus tömbje. Az a tömb, amelyben egy dimenzió lehető legmagasabb alsó indexét szeretné megtalálni.

Rank
Int32

Optional. Integer. Az a dimenzió, amelyhez a lehető legmagasabb alsó indexet kell visszaadni. Használja az 1-et az első dimenzióhoz, a 2-t a másodikhoz stb. Ha Rank nincs megadva, a függvény 1-et feltételez.

Válaszok

Integer. A megadott dimenzió alsó indexének legmagasabb értéke lehet. Ha Array csak egy elem van, UBound akkor a 0 értéket adja vissza. Ha Array nincsenek elemei, például nulla hosszúságú sztring, UBound akkor -1 értéket ad vissza.

Kivételek

Array az Nothing.

Rank kisebb, mint 1, vagy Rank nagyobb, mint a rangja Array.

Példák

Az alábbi példa a függvény használatával UBound határozza meg a tömb megadott dimenziójának legmagasabb rendelkezésre álló alsó indexét.

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.

Megjegyzések

Mivel a tömb alsó indexei 0-nál kezdődnek, a dimenzió hossza nagyobb, mint az adott dimenzió legmagasabb elérhető alsó indexe.

Az alábbi dimenziókkal rendelkező tömbök UBound esetében a következő táblázatban szereplő értékeket adja vissza:

Dim a(100, 5, 4) As Byte
Hívás uBound-ra Visszaadott érték
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

UBound A tömb elemeinek teljes számát meghatározhatja, de a visszaadott értéket módosítania kell annak figyelembe vételével, hogy az alsó indexek 0-nál kezdődnek. Az alábbi példa kiszámítja a tömb a teljes méretét az előző példában:

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

A számított total érték 3030, ami 101 * 6 * 5.

A következőre érvényes:

Lásd még