Во втором случае — вряд ли, потому что в Basic конкатенация строк делается с помощью амперсанда. Там будеь или Syntax Error, или (о Боже!) компилятор воспримет это всё как команду сложить два числа с пустотой и результат запишет как строку.
Плюс в VB.NET работает как конкатенация строк только в случае если оба аргумента — строки. Если один из аргументов — число, то второй аргумент будет приводиться (пытаться) к числу тоже.
А амперсанд в VB.NET вызывает принудительное приведение к строке (ToString) для левого и правого аргументов:
Dim s1 As String = 123 + 456 ‘вернет "578"
Dim s2 As String = 123 & 456 ‘вернет "123456"
в обоих случаях s="123456"
Во втором случае — вряд ли, потому что в Basic конкатенация строк делается с помощью амперсанда. Там будеь или Syntax Error, или (о Боже!) компилятор воспримет это всё как команду сложить два числа с пустотой и результат запишет как строку.
В обоих случаях будет "123456".
Плюс в VB.NET работает как конкатенация строк только в случае если оба аргумента — строки. Если один из аргументов — число, то второй аргумент будет приводиться (пытаться) к числу тоже.
А амперсанд в VB.NET вызывает принудительное приведение к строке (ToString) для левого и правого аргументов:
Dim s1 As String = 123 + 456 ‘вернет "578"
Dim s2 As String = 123 & 456 ‘вернет "123456"