Я слышал веские, веские аргументы в пользу обоих операторов. Какой аргумент победит, во многом зависит от вашей ситуации. Единственное, что я могу сказать, это то, что вы должны стандартизировать одно или другое. Код, который смешивает эти два понятия, позже вызовет путаницу.
Два аргумента, которые я сейчас запомнил в пользу и
:
Option Strict
и имеете две числовые строки, компилятор легко перепутает ваше значение оператора +
с, вы знаете, арифметическим сложением И для +
:
и
почти уникальны для VB, а +
между Строки понимаются на многих языках как конкатенация, поэтому вы получаете кое-что в удобочитаемости. Micorosoft's предпочтение для VB-программистов использовать & для строк, НЕ +.
Вы также можете использовать оператор + для конкатенации строк. Однако, чтобы исключить двусмысленность, вместо него следует использовать оператор &.
Я предпочитаю использовать &
для конкатенации строк в VB.NET
Одна из причин этого - избежать путаницы, например
MessageBox.Show(1 & 2) ' "12"
MessageBox.Show(1 + 2) ' 3
Я полагаю, что это исторически (в Visual Basic без .NET используется &, не знаю, почему они ввели +) и дело вкуса (я предпочитаю &, потому что мы конкатенируем строки, а не складываем их...).
Это безопаснее использовать, так как вы ясно даете понять компилятору свое намерение (я хочу объединить эти два значения, и оба они должны быть преобразованы в строки).
Использование + может затруднить поиск ошибок, если строки являются числовыми значениями, по крайней мере, если опция strict отключена.
Например:
1 + "1" = 2 ' this fails if option strict is on
1 & "1" = 11
Изменить: хотя, если вы объединяете не-строку, вам, вероятно, в любом случае следует использовать какой-нибудь лучший метод.