vb6&变量后面的字符

时间:2011-03-16 17:13:48

标签: vb6

我想弄清楚一些代码中有以下内容:

For I& = 1 To...

我不熟悉&变量之后。这代表什么?

在进一步research之后,它看起来像I&被定义为LONG类型。现在我的问题是为什么他们会这样做?它是矫枉过正还是遗留代码?

5 个答案:

答案 0 :(得分:12)

传统的BASIC语言有几种声明变量的方法。您可以将数据类型后缀($,%,&,!或#)用于变量名称

x$ = "This is a string"   ' $ defines a string
y% = 10                   ' % defines an integer
y& = 150                  ' & defines a long integer
y! = 3.14                 ' ! defines a single
y# = 12.24                ' # defines a double

答案 1 :(得分:5)

旧。 Old-school(pre -.NET)Visual Basic使用变量名后缀代替(可选)变量类型。

答案 2 :(得分:2)

你是对的 - 把&符号&在数字或变量之后意味着它是长32位类型。

所以答案是,循环需要多少次迭代 - 是否有可能超过16位整数?

  

在i之后没有数据类型标识符,暗示它是本机Integer(默认值)。因此,这个i被表示为一个整数,它使它成为一个16位i。

所以,我说这是原始开发人员习惯用&明确说明变量类型,是否真的需要它取决于For..Next循环必须支持的迭代次数在这种情况下。

答案 3 :(得分:2)

很可能是旧代码从QBasic移植到VB6等等,或者只是个别程序员从那个时代开始的坏习惯。对于VB6程序员来说,它的含义应该是显而易见的,因为它在很多情况下也可以用于数字文字:

MsgBox &HFFFF
MsgBox &HFFFF&

这些显示不同的值,因为它们不同的值。

是的,它意味着很长,但它通常反映了某些人在创建时未能将IDE选项设置为在新模块中自动包含Option Explicit。

答案 4 :(得分:0)

使用符号表示法(整数 - %,长 - &,单 - !,双 - #,字符串 - $)是变量声明和使用的绝佳方法。它的用法与“结构化编程”一致,是匈牙利符号的一个很好的替代品。

使用匈牙利表示法,可以将字符串文件名定义为“strFileName”,其中变量名称前面是变量类型的小写缩写。这与另一个良好的编程习惯相反,即使所有全局变量以大写首字母开头,所有局部变量以小写字母开头。这有助于您的代码的读者立即知道变量的范围。 IE浏览器。 firstName $是本地字符串变量; LastName $是全局字符串变量。

与所有编程一样,遵循惯例是很好的,无论您定义自己的约定还是其他人的约定或行业约定。没有惯例是一个非常糟糕的编程实践。使用符号表示法是一种命名约定。