VBA: различие между и и +

Что является различием между:

string1 + string2

и

string1 & string2

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

8
задан Michael Mrozek 29 July 2010 в 17:12
поделиться

2 ответа

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

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

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

7
ответ дан 5 December 2019 в 17:33
поделиться

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

3
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: