VB.Net变量声明:键入还是不键入?

时间:2013-10-17 17:37:30

标签: .net vb.net

在VB.Net中,声明字符串的常用方法是:

Dim helloWorld As String = "Hello, World!"

但是,您也可以使用动态变量,例如:

Dim helloWorld = "Hello, World!"

两者最终会成为同一件事,但最佳做法是什么?

5 个答案:

答案 0 :(得分:9)

使用类型!

真。 VB位于.Net之上,当你坚持使用显式类型时,.Net效果最好。唯一的例外是Option Infer打开(现在默认情况下),你也声明类似于C#的var的变量,或者你正在做COM互操作或其他真正需要动态类型的东西......而且非常罕见。

答案 1 :(得分:8)

回答你的问题what would be the best practice?

当然,最佳做法是将对象声明为它的类型。

如果你不这样做,那么你的代码可能会对语法错误产生负面影响和影响,或者例如在IntelliSense中,有时无法显示对象方法,那么你也不能使用它们(如果你不这样做) t将对象转换为您真正想要的类型)因为在声明时没有在类型之前设置。

不是最好的例子,只是一个例子:

假设您要声明一个数组,并按照以下方式执行:

Dim myArray = {"qwerty"}

但它不被认为是一个数组,所以方法与Array方法不同(好吧,在这个例子中完全没有):

enter image description here

但如果你这样做:

 Dim myArray As Array = {"qwerty"}

enter image description here

因此,对于第一种情况,您稍后需要将类型转换为您真正想要使用它的所需类型:

enter image description here

这对于其他许多类型令人困惑的例子都有效,就像我说的不是最好的例子,但我向你展示了一个基本的。

PS:原谅我的英语。

答案 2 :(得分:3)

请...

当你查看代码时,把类型放在眼睛上会更安全,但我想有些人会使用它,因为在这么多版本之后它仍然是一个功能。

呀,Vb的

这是VB。没有区别。编译器让你做各种各样的东西,这就是其中之一 您还可以更改vbproj中的某些设置,这些设置将允许您在不返回应该返回某些内容的函数中进行编译。

当您传递引用类型参数时,它还允许您使用关键字ByVal,当您查看代码时,该参数非常不直观。

但仍然..不,你的例子没有区别。

答案 3 :(得分:1)

这取决于你的项目。

如果它是一个包含大量行和类的大项目。然后你应该输入所有变量,因为在编程时你会更容易记住你想要“说”的内容。

无论如何,如果你知道你会多次使用它,那就输入一个从不坏的服装变量。

答案 4 :(得分:1)

此动态变量声明是为了与旧的Office库等兼容,或者在从linq查询返回一些复杂数据类型时更方便。没有用来替换原语。