В чем разница между (As) и (=) в объявлении объекта в VB.NET - PullRequest
7 голосов
/ 02 июня 2011

Я могу создать новый объект, подобный этому:

Dim sqlconn As New SqlClient.SqlConnection(cs)

или как это:

Dim sqlconn = New SqlClient.SqlConnection(cs)

Какая разница? Так как у меня оба работали нормально!

1 Ответ

13 голосов
/ 02 июня 2011

Первая - это краткая форма:

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. Это настройка по умолчанию, но она может быть отключена при переносе проекта из более старой версии.

...