您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-12 原文发表:2007-08-31 人气:3来源:未知


删除集合中的所有内容有许多方法,其中有些非常得迅速。来看看一个包含10,000个项目的集合:
Dim col As New Collection, i As Long

For i = 1 To 10000
   col.Add i, CStr(i)
Next

可以从末尾位置为起点删除集合内容,如下:


For i = col.Count To 1 Step -1
col.Remove i

Next

也可以从开始位置为起点删除集合内容,如下:

For i = 1 To col.Count Step 1
col.Remove i
Next

试验证明,后者要快于前者百倍多,比如0.06秒比4.1秒。原因在于:当引用接近末尾位置的集合项目时,VB必须要从第1个项目开始遍历整个的项目链。 <>
更有趣的是,如果集合项目的数量加倍,那么从末尾开始删除与从头开始删除,前者要比后者花费的时间将成倍增长,比如前者是24秒,后者可能为0.12秒这么短!
最后提醒您:删除集合的所有内容的最快方法就是“毁灭”它,使用下面的语句: Set col = New Collection

对于一个包含20,000个项目的集合,上述操作仅仅耗时0.05秒,这比使用最快的循环操作进行删除也要快2倍左右。

搜索更多
Google
相关文章

妙用Replace函数替代字符串连接操作符
VB中OLE调用的优化方法
善用"Assume No Aliasing"编译选项
无闪烁地快速附加字符串到TextBox控件
编写快速高效的VB程序
用VB设计MSN信息群发软件
如何开发一个属于自己的编程语言开发工具
用VB设计一个定时闹钟程序
几行VB代码拿下注册表
用Visual Basic自编小游戏
快速找到选中的OptionButton
另辟蹊径处理字符串中的字符:字节数组法
快速初始化Variant和String类型数组
表单及控件的引用阻止了表单的卸载
用Mid$命令超速字符串添加操作
减少DoEvents语句的数量
精用Boolean表达式,让代码再减肥
除法运算符"\"与"/"的区别
函数名巧做局部变量
未公开的返回数组型函数加速秘诀

相关评论


本文章所属分类:首页 VB