Information.UBound(Array, Int32) Metod

Definition

Returnerar den högsta tillgängliga nedsänkta för den angivna dimensionen för en matris.

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

Parametrar

Array
Array

Required. Matris av valfri datatyp. Matrisen där du vill hitta den högsta möjliga nedsänkta dimensionen.

Rank
Int32

Optional. Integer. Den dimension som högsta möjliga nedsänkta ska returneras för. Använd 1 för den första dimensionen, 2 för den andra och så vidare. Om Rank utelämnas antas 1.

Returer

Integer. Det högsta värdet som nedsänkts för den angivna dimensionen kan innehålla. Om Array det bara finns ett element UBound returneras 0. Om Array det inte finns några element, till exempel om det är en sträng med noll längd, UBound returneras -1.

Undantag

Array är Nothing.

Rank är mindre än 1 eller Rank är större än rangordningen Arrayför .

Exempel

I följande exempel används UBound funktionen för att fastställa den högsta tillgängliga nedsänkta för den angivna dimensionen för en matris.

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.

Kommentarer

Eftersom matrisunderskrifter börjar vid 0 är längden på en dimension större med en än den högsta tillgängliga nedsänkta för den dimensionen.

För en matris med följande dimensioner UBound returnerar värdena i följande tabell:

Dim a(100, 5, 4) As Byte
Anrop till UBound Returvärde
UBound(a, 1) 100
UBound(a, 2) 5
UBound(a, 3) 4

Du kan använda UBound för att fastställa det totala antalet element i en matris, men du måste justera det värde som returneras för att ta hänsyn till det faktum att nedsänkta objekt börjar vid 0. I följande exempel beräknas matrisens a totala storlek i föregående exempel:

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

Värdet som beräknas för total är 3030, vilket är 101 * 6 * 5.

Gäller för

Se även