Partilhar via


+ 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

Termo

Definição

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 Strict Statement.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 dados de resultados de operador (Visual Basic)

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.

Objectexpressão contém um valor numérico e a outra é do tipoString

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.

Objectexpressão contém uma seqüência de caracteres e a outra é do tipoString

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 " ".

ObservaçãoObservação

Quando você usa o operador +, talvez não seja possível determinar se a adição ou concatenação de sequê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 (Visual Basic).

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 Strict Statement.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

Referência

& Operador (Visual Basic)

Operadores de concatenação (Visual Basic)

Operadores aritméticos (Visual Basic)

Operadores listados pela funcionalidade (Visual Basic)

Precedência de operadores em Visual Basic

Opção Strict Statement

Conceitos

Operadores aritméticos em Visual Basic