浏览一些旧的 VB.Net 代码,我注意到一个奇怪的模式让我摸不着头脑。
Dim objMyObject As Namespace.Child.ChildType = Nothing
objMyObject = New Namespace.Child.ChildType
(维度和分配之间没有附加代码。)
似乎首选的样式是在一行上同时执行,或者跳过= Nothing
. 如下:
Dim objMyObject As Namespace.Child.ChildType = New Namespace.Child.ChildType
或者
Dim objMyObject As Namespace.Child.ChildType
objMyObject = New Namespace.Child.ChildType
或者,正如@helrich 所建议的那样
Dim objMyObject As New Namespace.Child.ChildType
这样做有什么特别的价值吗,或者这是原始程序员习惯于 VB6 做事方式的一个实例?
在 VB6 中,在一行上标注和实例化变量被认为是有问题的,因为它会在访问变量时重新运行实例化(如有必要) - 实际上,以这种方式标注的变量永远不会被测试为 Nothing,因为新实例会按需创建。但是,VB.Net 不保留此约定。