网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用VB编写FLASH动画播放器.
.VB调用API函数使窗口保持在最上层.
.用VB打造自己的SQL连接器.
.让VisualBasic程序在Windows启动.
.用VB编写DirectX7.0游戏(上).
.用VB计算累计值.
.用VB实现聊天讨论室和点对点会话.
.创建无Icon的窗口.
.VisualBasic变量、常数和数据类型.
.VB“变态”用法之高效字串指针类.
.在VB中获取和修改计算机名字.
.未公开的返回数组型函数加速秘诀.
.简单计算函数的编写过程.
.Shell.
.检测磁盘类型的信息.
.FileSystemObject读写文件.
.VB编程经验点滴.
.表单配置视窗和解析度.
.在VB6.0中播放GIF动画.
.SQL的基本操作(4.数据的检索).

未公开的返回数组型函数加速秘诀

发表日期:2006-2-27


在VB6中,函数是能够返回数组对象的。这种情况下,我们不能象返回对象或者数值的其他函数一样使用函数名当做局部变量来存储中间结果,因此不得不生成一个临时局部数组,函数退出前再分配这个数组给函数名,就象下面的代码一样:

'返回一个数组,其中含有N个随即元素

'并且将平均值保存在AVG中

FunctionGetRandomArray(ByValnAsLong,avgAsSingle)AsSingle()

DimiAsLong,sumAsSingle

ReDimres(1Ton)AsSingle

'以随机数填充数组,并计算总和

RandomizeTimer

Fori=1Ton

res(i)=Rnd

sum=sum res(i)

Next

'赋值结果数组,计算平均值

GetRandomArray=res

avg=sum/n

EndFunction

难以置信的是,只需要简单地颠倒最后2条语句的顺序,就能使上面这段程序变得快些:

'...'赋值结果数组,计算平均值

avg=sum/n

GetRandomArray=res

EndFunction

例如,在一个PentiumII333MHz机器上,当N=100,000时,前段程序运行时间为0.72秒,后段程序则为0.66秒,前后相差10。

原因何在呢?前段程序中,VB将拷贝res数组到GetRandomArray对应的结果中,当数组很大时,花费的时间是很长的。后段程序中,由于GetRandomArray=res是过程的最后一条语句,VB编译器就能确认res数组不会被再使用,因此将直接交换res和GetRandomArray的地址数值,从而节省了数组元素的物理拷贝操作以及随后的res数组释放操作。

总结如下:当编写返回数组的函数时,一定要将分配临时数组到函数名的语句放在最后,就是其后紧挨者ExitFunction或者EndFunction的位置。

->

上一篇:固定长度字符串数组:赋值快,释放快! 人气:5144
下一篇:妙用Replace函数替代字符串连接操作符 人气:4812
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐