Operadores de concatenação no Visual Basic
Os operadores de concatenação unem várias cadeias de caracteres em uma única cadeia de caracteres. Existem dois operadores de concatenação, +
e &
. Ambos realizam a operação de concatenação básica, como mostra o exemplo a seguir.
Dim x As String = "Mic" & "ro" & "soft"
Dim y As String = "Mic" + "ro" + "soft"
' The preceding statements set both x and y to "Microsoft".
Esses operadores também podem concatenar variáveis String
, como mostra o exemplo a seguir.
Dim a As String = "abc"
Dim d As String = "def"
Dim z As String = a & d
Dim w As String = a + d
' The preceding statements set both z and w to "abcdef".
Diferenças entre os dois operadores de concatenação
O Operador + tem a finalidade principal de adicionar dois números. Entretanto, ele pode também concatenar operandos numéricos com operandos de cadeia de caracteres. O operador +
possui um conjunto complexo de regras que determinam se adicionam, concatenam, sinalizam um erro do compilador ou emitem uma exceção InvalidCastException de tempo de execução.
O Operador & é definido somente para operandos String
e ele sempre amplia seus operandos para String
, independentemente da configuração de Option Strict
. O operador &
é recomendado para concatenação de cadeia de caracteres por ser definido exclusivamente para cadeias de caracteres e reduz suas chances de gerar uma conversão indesejada.
Desempenho: String e StringBuilder
Se você realizar um número significativo de manipulações em uma cadeia de caracteres, como concatenações, exclusões e substituições, seu desempenho poderá se beneficiar da classe StringBuilder no namespace System.Text. Ela usa uma instrução extra para criar e inicializar um objeto StringBuilder e outra instrução para converter seu valor final em uma String
, mas você pode recuperar esse tempo, pois StringBuilder pode ser executado com mais rapidez.