vb.net变量声明什么是最佳实践

时间:2013-11-08 14:51:54

标签: vb.net visual-studio

在vb.net中声明对象实例的最佳做法是什么?

Dim Person1 as Person = new Person()

OR

将Person1调暗为新人()

1 个答案:

答案 0 :(得分:4)

两者之间没有区别。在C#中,没有等同于As New语法,所以你经常会看到C#程序员选择第一个选项是出于无知或仅仅是出于熟悉。

但是,有时需要指定类型,例如,如果要将变量键入为接口或基类:

Dim person1 As IPerson = New Person()

或者

Dim person1 As PersonBase = New Student()

值得一提的是,VB6中存在As New语法,但它的含义略有不同。在.NET中,As New设置变量的起始值。在VB6中,它使变量“自动实例化”。在VB6中,如果您声明了变量As New,则每当您使用变量等于Nothing时,它将自动实例化一个新对象。例如:

'This is VB6, not VB.NET
Dim person1 As New Person
MsgBox person1.Name  ' person1 is set to a new Person object because it is currently Nothing
Set person1 = Nothing
MsgBox person1.Name  ' person1 is set to a second new Person object because it is currently Nothing

在VB.NET中,它没有那样做。在VB.NET中,如果将变量设置为Nothing,它将保持这种状态,直到您将其设置为其他内容,例如:

'This is VB.NET
Dim person1 As New Person()  ' person1 is immediately set to a new Person object
MessageBox.Show(person1.Name)
person1 = Nothing
MessageBox.Show(person1.Name)   ' Throws an exception because person1 is Nothing