.net – 新{object} vs {object} = new {object}

我只是想知道两个不同的新对象初始化器之间是否有任何区别,或者它只是语法糖.

所以是:

Dim _StreamReader as New Streamreader(mystream)

与…不同

Dim _StreamReader as Streamreader = new streamreader(mystream)

引擎盖下有什么不同吗?还是他们都一样?你更喜欢哪一个

在VB.NET中,它们是相同的. As New变体是规范的.

在VB6中,它们的语义实际上是不同的(除了VB6不允许在声明中赋值的明显事实):As New变体将创建一个永远不会是nothing的对象.相反,运行时将确保在每次访问对象之前始终正确初始化对象.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...