2010-05-19 4 views
1

Мне нужно создать многомерный массив строк. Каждая строка массива может иметь различное количество строк. Что-то вроде follwing код:Как создать многомерные зубчатые массивы в 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 

ответ

2

Как насчет словаря

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

Там нет ничего плохого в том, неровные массивы в VBScript. Есть некоторые незначительные проблемы с вашим кодом (ReDim - 3, но только назначение значений 2, без необходимости использования цикла For для назначения значений), но в целом это правильный синтаксис для использования.

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 
Смежные вопросы