• VB几种函数参数传递方法,Variant,数组,Optional,ParamArray


    VB几种函数参数传递方法,Variant,数组,Optional,ParamArray

    一) 过程的参数被缺省为具有 Variant 数据类型。
    1)ByRef按 地址传递参数在 VB 中是缺省的
    按地址传递参数后,过程返回的也是地址,函数中改变了的变量值也将带回来。

    2)ByVal 关键字指出参数是按值来传递的
    按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。

    二)使用不定数量的参数 ParamArray

    一般说来,过程调用中的参数个数应等于过程说明的参数个数。可用 ParamArray 关键字指明,过程将接受任意个数的参数。于是可以这样来编写计算总和的 Sum 函数:

    Dim x As Integer,y As Integer,intSum As Integer
    Sub Sum (ParamArray intNums ())
      For Each x In intNums
        y = y + x
      Next x
      intSum = y
    End Sub
    调用方法 Sum 1, 3, 5, 7, 8


    三)Optional 关键字,使用可选的参数
    Optional 关键字,就可以指定过程的参数为可选的。如果指定了可选参数,则参数表中此参数后面的其它参数也必是可选的,并且要用 Optional 关键字来声明。

    Dim strName As String,varAddress As Variant
    Sub ListText (x As String, Optional y As Variant)
      List1.AddItem x
      If Not IsMissing (y) Then
        List1.AddItem y
      End If
    End Sub

    调用1: Call ListText("yourname") '未提供第二个参数。
    2: Call ListText("yourname",12345)
    在未提供某个可选参数时,实际上将该参数作为具有 Empty 值的变体来赋值。
    上例说明如何用 IsMissing 函数测试丢失的可选参数。

    四)Optional 声明arr()数组与Variant 方法
    通常用Optional arr() as TypeName 为非法
    此时可声明函数变量为 Optional arr as Variant
    调用时可使用Fun(arr())
    此时函数中可用LBound(arr)的UBound(arr)确定数组边界

  • 相关阅读:
    剑指offer03-04
    五大算法-1.回溯法
    linux与操作系统(1)- 用户接口
    python中的装饰器
    mysql 创建数据库,用户并给用户设置权限
    centOS6.5 桌面状态栏消失 解决
    centOS linux 远程Mysql 记录之root用户密码丢失
    XStream.toXML() 简单两种使用实例
    FileInputStream和FileOutStream 简单的使用实例;
    orale 行转列或者 字符拼接函数 wmsys.wm_concat()函数 /instr(listagg(name,';') within group (order by o.srclinkedid)
  • 原文地址:https://www.cnblogs.com/whchensir/p/5713218.html
Copyright © 2020-2023  润新知