我只是想知道两个不同的新对象初始化器之间是否有任何区别,或者它只是语法糖.
所以是:
Dim _StreamReader as New Streamreader(mystream)
与…不同
Dim _StreamReader as Streamreader = new streamreader(mystream)
引擎盖下有什么不同吗?还是他们都一样?你更喜欢哪一个?
在VB.NET中,它们是相同的. As New变体是规范的.
在VB6中,它们的语义实际上是不同的(除了VB6不允许在声明中赋值的明显事实):As New变体将创建一个永远不会是Nothing的对象.相反,运行时将确保在每次访问对象之前始终正确初始化对象.