8

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

Dim helloWorld As String = "Hello, World!"

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

Dim helloWorld = "Hello, World!"

两者最终都会是同一件事,但最佳实践是什么?

4

5 回答 5

9

使用类型!

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

于 2013-10-17T17:47:13.620 回答
8

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

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

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

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

假设你想声明一个数组,你这样做:

Dim myArray = {"qwerty"}

但它不被识别为 Array,因此方法与 Array 方法不同(嗯,在此示例中完全不同):

在此处输入图像描述

但如果你这样做:

 Dim myArray As Array = {"qwerty"}

在此处输入图像描述

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

在此处输入图像描述

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

PS:原谅我的英语。

于 2013-10-17T17:54:56.810 回答
3

请...

当您查看代码时,将类型放在眼睛上更安全,更容易看到,但我猜有些人会使用它,因为在经过这么多版本之后它仍然是一个功能。

哇...Vb

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

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

但是仍然..不,您的示例没有区别。

于 2013-10-17T17:48:50.217 回答
1

这取决于您的项目。

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

无论如何,如果你知道你会经常使用它,那么就永远不要穿坏衣服键入变量。

于 2013-10-17T17:43:29.323 回答
1

这个动态变量声明是为了与旧的办公库等兼容,或者在从 linq 查询返回一些复杂的数据类型时更方便。它不是为了替换原语。

于 2013-10-17T17:48:17.047 回答