В чем разница между:
string1 + string2
а также
string1 & string2
Они эквивалентны? Зачем два разных символа, которые делают одно и то же?
В чем разница между:
string1 + string2
а также
string1 & string2
Они эквивалентны? Зачем два разных символа, которые делают одно и то же?
Выражения одинаковы, пока операнды являются строками; если нет, +
может добавить их вместо этого в зависимости от преобразования типов. &
гарантирует, что вы не получите ничего, кроме конкатенации строк, и по возможности преобразуете операнды в строки.
В MSDN есть запись об операциях конкатенации в Visual Basic. что объясняет его:
Оператор & (Visual Basic) определен только для строковых операндов и всегда расширяет свои операнды до строки, независимо от параметра Option Strict. Оператор & рекомендуется для конкатенации строк, поскольку он определен исключительно для строк и снижает вероятность непреднамеренного преобразования.
Два выражения эквивалентны, но операторы — нет. +
можно использовать как арифметический оператор, а также для объединения строк, &
можно использовать только для последнего.