如何在VbScript中创建多维锯齿状数组?

时间:2010-05-19 08:24:50

标签: vbscript jagged-arrays dynamic-arrays

我需要创建多维字符串数组。数组的每一行都可以有不同数量的字符串。类似下面的代码:

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 个答案:

答案 0 :(得分: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)

答案 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