Information.UBound(Array, Int32) Methode

Definitie

Retourneert het hoogste beschikbare subscript voor de aangegeven dimensie van een matrix.

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

Parameters

Array
Array

Required. Matrix van elk gegevenstype. De matrix waarin u het hoogst mogelijke subscript van een dimensie wilt vinden.

Rank
Int32

Optional. Integer. De dimensie waarvoor het hoogst mogelijke subscript moet worden geretourneerd. Gebruik 1 voor de eerste dimensie, 2 voor de tweede, enzovoort. Als Rank u dit weglaat, wordt uitgegaan van 1.

Retouren

Integer. De hoogste waarde die het subscript voor de opgegeven dimensie kan bevatten. Als Array er slechts één element is, UBound wordt 0 geretourneerd. Als Array er geen elementen zijn, bijvoorbeeld als het een tekenreeks met lengte nul is, UBound wordt -1 geretourneerd.

Uitzonderingen

Array is Nothing.

Rank kleiner is dan 1 of Rank groter is dan de rang van Array.

Voorbeelden

In het volgende voorbeeld wordt de UBound functie gebruikt om het hoogst beschikbare subscript voor de aangegeven dimensie van een matrix te bepalen.

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.

Opmerkingen

Omdat matrixsubscripts beginnen bij 0, is de lengte van een dimensie groter dan het hoogst beschikbare subscript voor die dimensie.

Voor een matrix met de volgende dimensies worden UBound de waarden in de volgende tabel geretourneerd:

Dim a(100, 5, 4) As Byte
Aanroepen naar UBound Retourwaarde
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

U kunt het UBound totale aantal elementen in een matrix bepalen, maar u moet de waarde aanpassen die wordt geretourneerd om rekening te houden met het feit dat de subscripts beginnen bij 0. In het volgende voorbeeld wordt de totale grootte van de matrix a in het voorgaande voorbeeld berekend:

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

De berekende total waarde is 3030, 101 * 6 * 5.

Van toepassing op

Zie ook