15

我刚收到一堆遗留的 VB6 (!) 代码,并且我不断看到在名称末尾使用 & 符号声明的函数,例如Private Declare Function ShellExecute& . . ..

我一直无法找到对此意义的答案,也无法检测到任何使用中的模式或由此命名的函数的签名。

任何人都知道那些尾随的&符号对编译器是否意味着什么,或者至少是否有一些我遗漏的约定?到目前为止,我把它写成一个奇怪的程序员,但我想确定它背后是否有任何意义。

4

2 回答 2

20

这意味着该函数返回一个 Long(即 32 位整数)值。

它相当于

Declare Function ShellExecute(...) As Long

后缀的完整列表如下:

Integer %
Long    &
Single  !
Double  #
Currency @
String  $
于 2012-02-21T06:31:35.523 回答
12

正如 Philip Sheard 所说,它是 Long 的标识符类型。它们仍然存在于 .Net 中,请参阅此MSDN 链接和此VB6 文章

从第二篇文章:

形成有效的 VB 变量名的规则如下:

(1) 第一个字符必须是字母 A 到 Z(可以使用大写或小写字母)。后续字符可以是字母、数字或下划线 (_) 字符(不允许使用空格或其他字符)。

(2) 最后的字符可以是“类型声明字符”。只有部分变量类型可以使用它们,如下图:

Data Type  Type Declaration Character  

String         $  
Integer        %  
Long           &  
Single         !  
Double         #  
Currency       @    

不鼓励在 VB 中使用类型声明字符;现代风格是在数据声明语句中使用“As”子句。

于 2012-02-21T06:43:03.960 回答