VBA: разница между & и + - PullRequest
6 голосов
/ 29 июля 2010

В чем разница между:

string1 + string2

и

string1 & string2

Они эквивалентны? Почему два разных символа делают одно и то же?

Ответы [ 2 ]

5 голосов
/ 29 июля 2010

Выражения совпадают, если операнды являются строками; в противном случае + может добавить их вместо этого в зависимости от преобразования типов. & гарантирует, что вы не получите ничего, кроме конкатенации строк, и преобразует операнды в строки, если это возможно.

В MSDN есть запись о Операциях конкатенации в Visual Basic , которая объясняет это:

Оператор & (Visual Basic) определен только для операндов String, и он всегда расширяет свои операнды до String, независимо от значения Option Strict. Оператор & рекомендуется для конкатенации строк, поскольку он определен исключительно для строк и снижает ваши шансы на генерацию непреднамеренного преобразования.

3 голосов
/ 29 июля 2010

Два выражения эквивалентны, но операторы - нет. + может использоваться как арифметический оператор, а также для объединения строк, & может использоваться только для последнего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...