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

前端之家收集整理的这篇文章主要介绍了vb.net – 我应该在VB/VBA中使用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”是一个标签,并在代码窗口中左对齐,即使它不会导致错误

猜你在找的VB相关文章