我在我的工作中编写的很多脚本都依赖于动态大小的数组的创建。 VBScript中的数组使这个任务变得非常繁重,因为每次想要调整大小时都需要Redim
个数组。为了解决这个问题,我开始使用逗号分隔的字符串并使用Split(...)
从中创建一维数组。虽然这对我很有用,但我想知道VBScript是否有更有效的方法来处理它。所以我问StackOverflow;在那里?
免责声明:我完全清楚VBScript是一种非常不合标准的脚本语言,但是Python需要额外的软件,这对于服务器自动化来说有点麻烦,并且PowerShell不是核心组件呢。不过,我正在学习它们两个!
答案 0 :(得分:6)
我经常使用的解决方案是每次向其添加新项目时调整数组大小。这样,结束数组将永远不会有任何未使用的条目。
ReDim aArray(-1)
For i = 1 To 10
ReDim Preserve aArray(UBound(aArray) + 1)
aArray(UBound(aArray)) = i
Next
MsgBox Join(aArray, "," & vbNewLine)
Carlos提出的其他解决方案是使用Dictionary对象来实现它,这可能是更清晰的解决方案:
Set dic = CreateObject("Scripting.Dictionary")
dic.Add "Item1", ""
dic.Add "Item2", ""
dic.Add "Item3", ""
msgbox Join(dic.Keys, "," & vbNewLine)
谢谢, 马切伊
答案 1 :(得分:1)
Dictionary对象怎么样?