В чем разница между & и + в операции конкатенации строк в Visual Basic?

2 Ответы


  • На самом деле оба этих оператора & и + используются для объединения нескольких строк в одну. это требуется для функции печати.
    Синтаксис для использования этих двух операторов конкатенации задается следующим образом:
    S1 = "my"
    S2 = "name"
    Мы можем объединить эти строки S1 и S2, используя операторы + и & следующим образом:
    S3 = S1 + S2
    OR
    S3 = S1 & S2
    Если оба операнды, которые необходимо объединить, относятся к строковому типу, тогда любой из этих двух операторов может использоваться взаимозаменяемо.
    Но в случае, если оба оператора относятся к разным типам, оператор + для конкатенации создаст ошибку.
    Предположим, есть два операнда (один строкового типа, а другой целочисленного типа), которые необходимо объединить следующим образом:
    S3 = "HELLO" + 12

    В приведенном выше случае Visual Basic сначала пытается преобразовать строковый операнд ("HELLO") в его числовой код, а затем прибавить его к целочисленному значению 12. Таким образом, во время выполнения будет сгенерирована ошибка несоответствия типа. Поскольку знак плюс (+) также используется в арифметических операциях, поэтому, если мы будем использовать его также для конкатенации строк, это создаст двусмысленность для читателей. Таким образом, мы обычно предпочитаем знак амперсанда в качестве оператора конкатенации строк.
  • Конкатенация используется для соединения двух или более строк. В VB оператор '&' используется для объединения двух или более строк. например

    Dim var AS string
    var = "Hello" & "World!"

    Что будет отображаться как одна строка. "Привет мир!"

    В то время как оператор «+» обычно используется для добавления двух или более числовых значений. Одно из них также может быть строкой (но только числовыми значениями). Помимо этого, он также может использоваться для конкатенации строк.

    например,
    ".15" + 45 даст числовое значение = 45.15
    ".15" + "45" даст объединенное значение ".1545"

Напишите свой ответ

Ваш ответ появится после модерации