Operador + (Visual Basic)
Adiciona dois números ou retorna o valor positivo de um expressão numérica.Também pode ser usado para concatenar duas expressões de string.
expression1 + expression2
- or -
+ expression1
Partes
expression1
Obrigatório.Qualquer expressão numérica ou string.expression2
Necessária a menos que o operador + esteja calculando um valor negativo.Qualquer expressão numérica ou string.
Resultado
Se expression1 e expression2 forem numéricos, o resultado é sua soma aritmética.
Se expression2 estiver ausente, o operador + é o operador de identidade unário para o valor inalterado de uma expressão.Nesse sentido, a operação consiste em manter o sinal de expression1,portanto, o resultado é negativo se expression1 for negativo.
Se expression1 e expression2 são ambas strings, o resultado é a concatenação de seus valores.
Se expression1 e expression2 são de tipos mistos, a ação tomada depende seus tipos, seu conteúdo e a configuração de Opção declaração estrito.Para obter mais informações, consulte as tabelas em "Comentários".
Os tipos suportados
Todos os tipos numéricos, incluindo os tipos unsigned e ponto-flutuante e Decimal e String.
Comentários
Em geral, + executa adição aritmética quando possível e concatena somente quando as duas expressões são strings.
Se nenhuma expressão for um Object, Visual Basic toma as seguintes medidas.
Tipos de dados de expressões |
Ação pelo compilador |
---|---|
As duas expressões são tipos de dados numéricos (SByte, Byte,Short, UShort,Integer,UInteger,Long,ULong, Decimal,Single,ou Double) |
SomarO tipo de dados do resultado é um tipo numérico apropriado para os tipos de dados de expression1 e expression2. Veja as tabelas de "Aritmética de Inteiros" em Tipos de Dado de Resultados de Operador |
As duas expressões são do tipo String |
Concatenar. |
Uma expressão é um tipo de dados numéricos e a outra é uma string. |
Se Option Strict estiver On, então é gerado um erro do compilador. Se Option Strict é Off, então implicitamente converta o StringDouble e adicione. Se a String não pode ser convertida para Double, lance uma exceção InvalidCastException. |
Uma expressão é um tipo de dados numérico e a outra é uma string.Nada (Visual Basic) |
Adicionar, com Nothing valorado como zero. |
Uma expressão é uma sequência de caracteres, e a outra é Nothing |
Concatene, com Nothing valorado como " ". |
Se uma expressão for uma expressão Object, o Visual Basic toma as seguintes medidas.
Tipos de dados de expressões |
Ação pelo compilador |
---|---|
A expressão Object contém um valor numérico e a outra é uma tipo de dados numérico |
Se Option Strict estiver On, então é gerado um erro do compilador. Se Option Strict estiver Off, adicione. |
Object expressão contém um valor numérico e a outra é de tipo String |
Se Option Strict estiver On, então é gerado um erro do compilador. Se Option Strict é Off, então implicitamente converta o StringDouble e adicione. Se a String não pode ser convertida para Double, lance uma exceção InvalidCastException. |
A expressão Object contém uma string e a outra é um tipo de dados numérico |
Se Option Strict estiver On, então é gerado um erro do compilador. Se Option Strict estiver Off, então implicitamente converta a string ObjectDouble e adicione. Se a string Object não pode ser convertida para Double, lance uma exceção InvalidCastException. |
Object expressão contém uma string e a outra é do tipo String |
Se Option Strict estiver On, então é gerado um erro do compilador. Se Option Strict é Off, então implicitamente converta Object para String e adicione. |
Se as duas expressões forem expressões Object, o Visual Basic toma as seguintes medidas (somente Option Strict Off).
Tipos de dados de expressões |
Ação pelo compilador |
---|---|
As duas expressões Object contém valores numéricos |
Somar |
Ambas expressões Object são do tipo String. |
Concatenar. |
Uma expressão Object contém uma string e a outra é um tipo de dados numérico |
Implicitamente converta a sequência de caracteres Object para Double e adicione. Se a sequência de caracteres Object não pode ser convertida para um valor numérico, em seguida, lance uma exceção InvalidCastException. |
Se qualquer um das expressões Objectfor avaliada como Nothing ou DBNull, o operador + vai tratá-la como uma String de valor " ".
![]() |
---|
Quando você usa o + operador, talvez não seja capaz de determinar se a adição ou concatenação de seqüência de caracteres ocorrerá. Use o operador & de concatenação para eliminar ambiguidade e fornecer código autodocumentável. |
Sobrecarga
O operador + pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo daquela classe ou estrutura.Se seu código usa esse operador em tal classe ou estrutura, esteja certo que entende seu comportamento redefinido.Para obter mais informações, consulte Procedimentos de Operador.
Exemplo
O exemplo a seguir usa o operador + para somar números.Se os operandos forem ambos numéricos,o Visual Basic calcula o resultado aritmético.O resultado aritmético representa a soma de dois operandos.
Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.
Você também pode usar o operador + para concatenar as sequências de caracteres.Se os operandos forem ambos sequências de caracteres, o Visual Basic os concatena.O resultado da concatenação representa uma única sequência de caracteres consistindo no conteúdo de dois operandos um após o outro.
Se os operandos forem de tipos mistos, o resultado depende da configuração de Opção declaração estrito.O exemplo a seguir ilustra o resultado quando Option Strict está On.
Option Strict On
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
...
' The preceding statement generates a COMPILER ERROR.
O exemplo a seguir ilustra o resultado quando Option Strict está Off.
Option Strict Off
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
...
' The preceding statement returns 40 after the string in var1 is
' converted to a numeric value. This might be an unexpected result.
' We do not recommend use of Option Strict Off for these operations.
Para eliminar ambiguidade, você deve usar o operador & em vez de + para concatenação.
Consulte também
Conceitos
Operadores aritméticos em Visual Basic
Referência
Operadores de concatenação (Visual Basic)
Operadores Aritméticos (Visual Basic)
Operadores listados por Funcionalidade