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

清除动态数组的最快方法是使用ReDim,清除静态数组则是使用删除。但是如果只想清除数组的一部分内容,怎么办呢?看上去似乎只能使用For-Next循环了。

如果处理的是数字数组,有一个较快的方法。它基于ZeroMemory API函数,正如函数名所示,它能将一块内存区域填充为0。看看怎么应用这个函数来清除一个Long类型数组的一部分内容:

逆@风@者

Private Declare Sub ZeroMemory Lib "kernel32" Alias "RtlZeroMemory" (dest As Any, ByVal Bytes As Long)

'定义数组,填充数据

Dim a(1000) As Long

For i = 1 To UBound(a)

a(i) = i

Next

'从a(200)开始清除100个元素内容

ZeroMemory a(200), 100 * Len(a(1))

请注意上述代码中清除长度的表示方法,使用Len()函数保证了当数组类型改变时代码仍然有效。

相关文章

创建新表时,快速拷贝字段
用InStr函数实现代码减肥
静态变量慢于动态变量
And、Or和Xor:让我们来优化表达式
创建任意长度重复字符串的简洁方法
使用 $-类型 字符串函数会更快
为常量定义合适的类型
火眼识破隐藏的Variant变量
深入使用LIKE操作符
访问简单变量总是快于数组元素值
固定长度字符串数组:赋值快,释放快!
你真正理解 Allow Unrounded Floating Poin
重定义编译DLL文件的基地址
使用ObjPtr检测2个对象变量是否指向同一对象
使用Objptr函数快速查找集合中的对象
Visual Basic代码优化的六条军规
VB“变态”用法之高效字串指针类
如何去优化你的VB程序
字体对象克隆招法
Friend过程快于Public过程

相关评论


本文章所属分类:首页 VB

  热门关键字: