加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 我应该在VB/VBA中使用Call关键字吗?

发布时间:2020-12-16 22:34:38 所属栏目:大数据 来源:网络整理
导读:我在VB / VBA中调用subs时使用Call关键字。我知道它是可选的,但它是更好的使用它还是离开它?我一直认为这是更明确的,但也许只是噪音。 另外,我在另一个论坛上阅读:使用Call关键字更快,因为它知道它不会返回任何值,所以它不需要设置任何堆栈空间为返回
我在VB / VBA中调用subs时使用Call关键字。我知道它是可选的,但它是更好的使用它还是离开它?我一直认为这是更明确的,但也许只是噪音。

另外,我在另一个论坛上阅读:使用Call关键字更快,因为它知道它不会返回任何值,所以它不需要设置任何堆栈空间为返回值留出空间。

啊哈。我一直想知道这一点,甚至阅读一个两英寸厚的书VBA基本上说,不要使用它,除非你想使用VBE的查找功能轻松找到大型项目中的调用。

但我只是发现另一个用途。

我们知道,可以用冒号字符连接代码行,例如:

Function Test(mode as Boolean) 
    if mode = True then x = x + 1 : Exit Sub
    y = y - 1
End Sub

但是如果你在一行的开头用过程调用来做到这一点,VBE假定你是指一个标签,并删除所有的缩进,将行对齐到左边距(即使程序是按照预期调用的):

Function Test()
Function1 : Function2
End Function

使用Call语句允许连接过程调用,同时保持代码缩进:

Function Test()
    Call Function1 : Call Function2
End Function

如果在上面的例子中不使用Call语句,VBE将假定“Function1”是一个标签,并在代码窗口中左对齐,即使它不会导致错误。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读