2010-05-19 4 views
1

Je dois créer un tableau multidimensionnel de chaînes. Chaque rangée du tableau peut avoir un nombre variable de chaînes. Quelque chose comme le code follwing:Comment créer des tableaux dentelés multidimensionnels dans VbScript?

twoDimension = Array(Array()) 
ReDim Preserve twoDimension(3) 
For i = 0 to 2 
If i = 1 Then 
    twoDimension(i) = Array(1,2,3) 
End If 
If i = 2Then 
    twoDimension(i) = Array(1,2,3,4,5) 
    End If 
Next 

Répondre

2

Que diriez-vous d'un dictionnaire

Set a = CreateObject("Scripting.Dictionary") 
a.Add 0, Array(1,2,3) 
a.Add 1, Array(4,5,6) 
MsgBox a.Count 
MsgBox a.Item(0)(2) 
MsgBox a.Item(1)(1) 
0

Il n'y a rien de mal à avoir des tableaux déchiquetés dans VBScript. Il y a quelques problèmes mineurs avec votre code (ReDim à 3 mais en assignant seulement des valeurs à 2, en utilisant inutilement une boucle For pour assigner des valeurs), mais en général, c'est la syntaxe correcte à utiliser.

Option Explicit 

Dim twoDimension, i, j 

twoDimension = Array(Array()) 
ReDim Preserve twoDimension(2) 

twoDimension(1) = Array(1,2,3) 
twoDimension(2) = Array(1,2,3,4,5) 

For i = 0 To UBound(twoDimension) 
    For j = 0 To UBound(twoDimension(i)) 
    WScript.Echo "(" & i & "," & j & ") = " & twoDimension(i)(j) 
    Next 
Next 
Questions connexes