ArraySize()
Syntaxe
Resultat = ArraySize(Tableau() [, Dimension])Description
Renvoie la taille d'un tableau.
Arguments
Tableau() Le tableau à tester. Dimension (optionnel) Pour les tableaux multidimensionnels, permet de renvoyer la taille d'une dimension donnée.
La première dimension commence à 1.
Valeur de retour
Renvoie la taille de la dimension du tableau telle qu'elle a été spécifiée lors de sa déclaration avec Dim ou ReDim.
Si le tableau n'est pas encore déclaré ou si son allocation a échoué, il renverra -1.
Remarques
Attention, le nombre d'éléments est égale à la taille plus 1.
Par exemple: Dim a(2) contient 3 éléments de a(0) à a(2) pour une taille de 2.
Ne fonctionne pas avec les tableaux statiques déclarés dans les Structures.
Utilisez SizeOf à la place.
Exemple
Dim Tableau.l(10) Debug ArraySize(Tableau()) ; affichera '10' Dim Tableau3Dimensions.l(10, 20, 30) Debug ArraySize(Tableau3Dimensions(), 2) ; affichera '20' 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) ; affichera '1' Debug MultiArray2(0,1,0) ; affichera '2' Debug MultiArray2(0,2,0) ; affichera '3' (Nous avons bien 3 éléments) Debug ArraySize(MultiArray2(),2) ; affichera '2' (Et pourtant la taille est de 2)
Exemple
Dim Test.q(99999999999999999) If ArraySize(Test()) <> -1 Test(12345) = 123 ; tout se passe bien Else Debug "Le tableau 'Test()' ne peut pas être initialisé." EndIf
Exemple
Structure MaStructure TabStatic.l[3] ; Tableau statique, uniquement dans les structures ; (Standard C) avec 3 valeurs de Ex\TabStatic[0] à Ex\TabStatic[2], non redimensionnable Array TabDynamic.l(4) ; Tableau dynamique avec 5 valeurs de TabDynamic.i(0) à TabDynamic.i(4), redimensionnable EndStructure Debug SizeOf(MaStructure\TabStatic) ; Affiche 12 Debug SizeOf(MaStructure\TabDynamic) ; Affiche 8 Ex.MaStructure Debug ArraySize(Ex\TabDynamic()) ; Affiche 4
Voir aussi
ListSize(), MapSize()
OS Supportés
Tous