vb 中 Dim a, b As String 的问题

vb 中 Dim a, b As String和 Dim a as string Dim b as string不一样吗??
2024-11-10 12:09:45
推荐回答(3个)
回答1:

我发现有好多大学生编的VB程序都有这样的问题:
Dim a, b, c, d As String
其实这是完全错的。在这里,逗号的优先级要高于As,也就是说,上面语句相当于:
Dim a
Dim b
Dim c
Dim d As String
也就是
Dim a As Variant
Dim b As Variant
Dim c As Variant
Dim d As String
虽然在多数情况下,这么做并不会造成程序出错(因为Variant可以代替其他任何类型),但这跟你设计的初衷就有很大出入了(且不说用Variant会造成资源浪费、效率降低)。程序应该是严谨的,差之毫厘谬以千里,所以我们应该养成良好的正确的编程习惯,正确的写法应该是:
Dim a As String, b As String, c As String, d As String

补充说一句,我怀疑是不是现在大学的电脑老师就是这样教的(即Dim a, b, c, d As String)?我不知道,因为我是自学的。如果真是这样,那我对中国的教育真是失望透顶了!没救了!!!

再补充一句:要验证我说的对不对,可以用下面的代码:
Dim a, b As String
Print "a的类型是" & TypeName(a)
Print "b的类型是" & TypeName(b)

回答2:

dim a,b as string 这样定义的话,只有后面的 b 是 string 类型。前面的 a 为 变体类型。
即 相当于

dim a
dim b as string

正确的应该这样:
dim a as string ,b as string

回答3:

两个是一样的