上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
快速初始化Variant和String类型数组
作者:未知 申领版权
2010年11月14日 共有 1230 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    快速初始化Variant和String类型数组
    
    
    VB中没有提供定义数组并同时初始化其内容的方法,所以大多数情况下,必须单独地设置每一个元素,就象下面一样:
    
    
    
    
    Dim strArray(0 To 3) As String
    
    strArray(0) = "Spring"
    
    strArray(1) = "Summer"
    
    strArray(2) = "Fall"
    
    strArray(3) = "Winter"
    
    
    在VB4、VB5和VB6中,可以使用Array()函数随意创建一个Variants类型数组:
    
    
    Dim varArray() As Variant
    
    varArray() = Array("Spring", "Summer", "Fall", "Winter")
    
    
    但却没有同样的函数能创建非Variant类型数组。但是我们发现,在VB6中可以使用Split()函数创建字符串数组:
    
    
    Dim varArray() As String
    
    ’由Split建立的数组下标通常是从0开始的
    
    varArray() = Split("Spring;Summer;Fall;Winter", ";")
    
    
    在VB6中,同样能充分利用函数返回数组的能力,创建数组初始化程序段。比如下面的代码段:
    
    
    Function ArrayInt(ParamArray values() As Variant) As Integer()
    
    Dim i As Long
    
    ReDim res(0 To UBound(values)) As Integer
    
    For i = 0 To UBound(values)
    
    res(i) = values(i)
    
    Next
    
    ArrayInt = res()
    
    End Function
    
    
    同时,也可以创建一个子程序段来检测传递给它的数值的类型,并返回正确类型的数组。这种情况下,函数应该定义为返回Variant。
    
    访问简单变量总是快于数组元素值
    
    
    读写数组中的元素速度通常都慢于访问一个简单变量,因此,如果在一个循环中要重复使用同一数组元素值,就应该分配数组元素值到临时变量中并使用这个变量。下面举一个例子,检测整数数组中是否存在重复项:
    
    
    Function AnyDuplicates(intArray() As Integer) As Boolean
    
    ’如果数组包含重复项,返回True
    
    Dim i As Long, j As Long,
    
    Dim lastItem As Long
    
    Dim value As Integer
    
    
    ’只计算机UBound()一次
    
    lastItem = UBound(intArray)
    
    For i = LBound(intArray) To lastItem
    
    ’ 保存intArray(i)到非数组变量中
    
    value = intArray(i)
    
    For j = i 1 To lastItem
    
    If value = intArray(j) Then
    
    AnyDuplicates = True
    
    Exit Function
    
    End If
    
    Next
    
    Next
    
    ’没有发现重复项
    
    AnyDuplicates = False
    
    End Function
    
    
    上述程序有2层循环,通过缓存intArray(i)的数值到一个普通的、非数组变量中,节省了CPU运行时间。经测试,这将提高80%的速度。
    
    
    
    
    

    

 

相关新闻

您可能对这些感兴趣  

用VB做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
优化程序显示速度
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
用VB制作注册软件的方法

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》