gpt4 book ai didi

arrays - VBScript 中使用 Split() 的动态数组。有没有更好的办法?

转载 作者:行者123 更新时间:2023-12-02 03:52:23 24 4
gpt4 key购买 nike

我在工作中编写的许多脚本都依赖于动态大小数组的创建。 VBScript 中的数组使这成为一项相当艰巨的任务,因为每次想要调整数组大小时都必须对其进行 Redim。为了解决这个问题,我开始制作逗号分隔的字符串,并使用 Split(...) 创建一维数组。虽然这对我来说非常有用,但我想知道 VBScript 是否有更有效的方法来处理这个问题。所以我问 StackOverflow;有吗?

免责声明:我完全知道 VBScript 是一种相当不标准的脚本语言,但 Python 需要额外的软件,这对于服务器自动化来说有点麻烦,而且 PowerShell 不是核心组件尚未。不过,我正在学习它们!

最佳答案

我通常采用的解决方案是每次向数组添加新项目时调整数组大小。这样,结束数组将永远不会有任何未使用的条目。

ReDim aArray(-1)

For i = 1 To 10
ReDim Preserve aArray(UBound(aArray) + 1)
aArray(UBound(aArray)) = i
Next

MsgBox Join(aArray, "," & vbNewLine)

卡洛斯提出的其他解决方案是使用 Dictionary 对象来完成它,这可能是更干净的解决方案:

Set dic = CreateObject("Scripting.Dictionary")

dic.Add "Item1", ""
dic.Add "Item2", ""
dic.Add "Item3", ""

msgbox Join(dic.Keys, "," & vbNewLine)

谢谢,马切伊

关于arrays - VBScript 中使用 Split() 的动态数组。有没有更好的办法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3453044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com