您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关如何解决VBS中字符串连接的性能问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
															当然,对于少量的字符串连接,效率并没有对程序造成多大影响,现在让我们考虑一个极端的问题:将1到100000之间的所有数字连接成一个字符串。 
最简单的解决方案是直接使用&连接: 
复制代码 代码如下:
begin = Timer 
For i = 1 To 100000 
str = str & CStr(i) 
Next 
WScript.Echo str 
finish = Timer 
WScript.Echo finish - begin 
但是这个程序在我电脑上需要运行60.648秒,效率太低。换一种方案,用数组来解决: 
复制代码 代码如下:
begin = Timer 
Dim arr(100000) 
For i = 1 To 100000 
arr(i) = i 
Next 
str = Join(arr, "") 
WScript.Echo str 
finish = Timer 
WScript.Echo finish - begin 
这次只用了0.742秒,大概快了60倍。在这个问题中数组的大小是可以事先确定的,如果不能预知数组的大小就必须使用动态数组。我水平比较低,不会用动态数组,有没有更简单的方法呢?答案是有,那就是字典: 
复制代码 代码如下:
begin = Timer 
Set oDic = CreateObject("scripting.dictionary") 
For i = 1 To 100000 
oDic.Add i, CStr(i) 
Next 
str = Join(oDic.Items, "") 
WScript.Echo str 
finish = Timer 
WScript.Echo finish - begin 
运行时间为1.593,是数组的2倍,但是还是比&快多了,而且用起来比数组方便。
关于“如何解决VBS中字符串连接的性能问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。