是否可以在VB.NET中使用变量而无需使用DIM?
现在我必须使用这样的变量:
dim a = 100
dim b = 50
dim c = a + b
我希望能够以这种方式使用变种:
a=100
b=50
c=a+b 'c contains 150
我认为在VB6和更老的VB中这是可能的,但我不确定。
答案 0 :(得分:7)
你对VB应该如何工作有一个基本的误解。 Dim
声明可以帮助您。您想要忽视这些声明是错误的。
编译器强制执行变量声明,以便在您意外拼错变量名称时发出警告,从而无意中创建了一个新变量,并且需要强制执行类型安全。如果没有变量声明,VB代码将成为一个难以理解的,无法维护的混乱。
顺便提一下,在VB6中也是如此,你应该在VB6中使用Option Explicit
来使编译器强制你正确使用它们。这个选项在VB.NET中仍然存在但是关闭它有没有优势,并且有很多缺点所以不要这样做 - 相反,学会欣赏显式变量声明,以及所有的帮助编译器正在通过它们。
答案 1 :(得分:6)
就@Konrad说的那样,他是对的。答案,隐藏在他所有的警告中,是“是”的答案,你可以通过声明Option Explicit Off
在VB.NET中完全做到这一点。也就是说,当您执行a=1
时,变量a
不是Integer
- 它是Object
类型。因此,如果没有编译器错误,则无法执行c = a + b
。您还需要声明Option Strict Off
。那时,你抛弃了编译器的所有好处。不要这样做。
作为替代方案,使用Option Infer On
时,Dim
的行为与C#的var
关键字相同,如果您尝试节省打字,则会给您带来很多好处。