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”是一个标签,并在代码窗口中左对齐,即使它不会导致错误。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |