vb.net - VB.NET 中对象声明中的 (As) 和 (=) 有什么区别

标签 vb.net declaration

我可以像这样创建一个新对象:

Dim sqlconn As New SqlClient.SqlConnection(cs)

或者像这样:

Dim sqlconn = New SqlClient.SqlConnection(cs)

有什么区别?因为两者对我来说都工作得很好!

最佳答案

第一个是缩写形式:

Dim sqlconn As SqlClient.SqlConnection = New SqlClient.SqlConnection(cs)

第二个取决于您使用的 VB 版本。在 VB 7 和 VB 8 中,它与以下内容相同:

Dim sqlconn As Object = New SqlClient.SqlConnection(cs)

VB 9 中引入了类型推断,因此编译器将从赋值推断类型并生成与第一个代码相同的代码。

类型推断需要将选项Option Infer 设置为on。这是默认设置,但如果您从旧版本迁移项目,它可能会关闭。

关于vb.net - VB.NET 中对象声明中的 (As) 和 (=) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6212135/

相关文章:

.net - 为什么 'Function Body' 成为我的应用程序的瓶颈?

vb.net - IISExpress乱码HTTP 500错误信息

.net - WithEvents LinkedList 是不可能的吗?

c# - 从 Windows 窗体应用程序发送电子邮件

c - typedef struct node {...} Node; 到底是做什么的?代表?

c - 在 C 中,为什么在单独的语句中定义全局变量会引发警告,但对于局部变量却可以?

c# - 此 VB6 操作产生问题的等效 C# 语句

javascript - 本地 JS 文件的 Typescript 声明文件

c - 返回函数指针的函数声明

list - 如何为导入或输出列表的谓词声明 pred?