ArraySize()

Syntax

Ergebnis = ArraySize(Array() [, Dimension])
Beschreibung
Gibt die Größe des Arrays zurück, wie diese mit Dim oder ReDim angegeben wurde.

Parameter

Array() Das Array, von dem die Größe ermittelt werden soll.
Dimension (optional) Für mehrdimensionale Arrays kann dieser Parameter angegeben werden, um eine bestimmte Dimensions-Größe zu erhalten. Die erste Dimension beginnt bei 1.

Rückgabewert

Gibt die Größe der Array-Dimension zurück. Wenn das Array noch nicht deklariert wurde (oder das Anlegen fehlgeschlagen ist), wird -1 zurückgegeben.

Anmerkungen

Wie bei Dim angegeben, entspricht die Anzahl der Elemente gleich Größe + 1. Zum Beispiel: Dim a(2) beinhaltet 3 Elemente von a(0) bis a(2) bei einer Größe von 2.

Funktioniert nicht mit statischen Arrays, die in Strukturen deklariert wurden.
Verwenden Sie hier stattdessen SizeOf.

Beispiel

  Dim MyArray.l(10)
  Debug ArraySize(MyArray()) ; wird '10' ausgeben

  Dim MultiArray.l(10, 20, 30)
  Debug ArraySize(MultiArray(), 2) ; wird '20' ausgeben
  
  Dim MultiArray2.l(2, 2, 2)
  For n = 0 To ArraySize(MultiArray2(), 2)
    MultiArray2(0, n, 0) = n + 1
  Next n
  Debug MultiArray2(0, 0, 0)  ; wird '1' ausgeben
  Debug MultiArray2(0, 1, 0)  ; wird '2' ausgeben
  Debug MultiArray2(0, 2, 0)  ; wird '3' ausgeben
  Debug ArraySize(MultiArray2(), 2)  ; wird '2' ausgeben

Beispiel

  Dim Test.q(99999999999999999)
  
  If ArraySize(Test()) <> -1
    Test(12345) = 123  ; alles ist ok
  Else
    Debug "Array 'Test()' konnte nicht deklariert werden."
  EndIf

Beispiel

  Structure MyStructure
    ArrayStatic.l[3]        ; Statisches Array, nur innerhalb von Strukturen
    Array ArrayDynamic.l(4) ; Dynamisches Array
  EndStructure
  
  Debug SizeOf(MyStructure\ArrayStatic)  ; wird 12 anzeigen
  Debug SizeOf(MyStructure\ArrayDynamic) ; wird 8 anzeigen
  
  Ex.MyStructure
  Debug ArraySize(Ex\ArrayDynamic())  ; wird 4 anzeigen

Siehe auch

ListSize(), MapSize()

Unterstützte OS

Alle

Array Inhaltsverzeichnis - CopyArray() ->