Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Adiciona dois números ou retorna o valor positivo de uma expressão numérica. Também pode ser usado para concatenar duas expressões de cadeia de caracteres.
Sintaxe
expression1 + expression2
or
+expression1
Partes
| Prazo | Definição |
|---|---|
expression1 |
Obrigatório Qualquer expressão numérica ou de cadeia de caracteres. |
expression2 |
Obrigatório, a menos que o + operador esteja calculando um valor negativo. Qualquer expressão numérica ou de cadeia de caracteres. |
Resultado
Se expression1 e expression2 ambos forem numéricos, o resultado será sua soma aritmética.
Se expression2 estiver ausente, o + operador será 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 será negativo se expression1 for negativo.
Se expression1 e expression2 são ambas cadeias de caracteres, o resultado é a concatenação de seus valores.
Se expression1 e expression2 são de tipos mistos, a ação tomada depende de seus tipos, seu conteúdo e a configuração da Instrução Opção Estrita. Para obter mais informações, consulte as tabelas em "Comentários".
Tipos Suportados
Todos os tipos numéricos, incluindo os tipos de ponto flutuante e sem sinal, e DecimalString.
Observações
Em geral, + executa a adição aritmética quando possível e concatena somente quando ambas as expressões são cadeias de caracteres.
Se nenhuma das expressões for uma Object, o Visual Basic executará as seguintes ações.
| Tipos de dados de expressões | Ação por compilador |
|---|---|
Ambas as expressões são tipos de dados numéricos (SByte, , Byte, Short, UShort, Integer, UInteger, Long, ULong, Decimal, , Single, ou Double) |
Adicionar. O tipo de dados de resultado é um tipo numérico apropriado para os tipos de dados de expression1 e expression2. Consulte as tabelas "Aritmética de Inteiros" em Tipos de Dados de Resultados do Operador. |
Ambas as expressões são do tipo String |
Concatenar. |
| Uma expressão é um tipo de dados numérico e a outra é uma cadeia de caracteres | Se Option Strict estiver On, gere um erro do compilador.Se Option Strict estiver Off, converta implicitamente e StringDouble adicione.Se não String for possível converter, Doublegere uma exceção InvalidCastException . |
| Uma expressão é um tipo de dados numérico e a outra é Nothing | Adicione, com Nothing valor como zero. |
Uma expressão é uma cadeia de caracteres, e a outra é Nothing |
Concatenar, com Nothing valor "". |
Se uma expressão for uma expressão Object , o Visual Basic executará as seguintes ações.
| Tipos de dados de expressões | Ação por compilador |
|---|---|
Object expressão contém um valor numérico e o outro é um tipo de dados numérico |
Se Option Strict estiver On, gere um erro do compilador.Se Option Strict estiver Off, adicione. |
Object expressão contém um valor numérico e o outro é do tipo String |
Se Option Strict estiver On, gere um erro do compilador.Se Option Strict estiver Off, converta implicitamente e StringDouble adicione.Se não String for possível converter, Doublegere uma exceção InvalidCastException . |
Object expressão contém uma cadeia de caracteres e a outra é um tipo de dados numérico |
Se Option Strict estiver On, gere um erro do compilador.Se Option Strict estiver Off, converta implicitamente a cadeia de caracteres ObjectDouble e adicione.Se a cadeia de caracteres Object não puder ser convertida Double, gere uma exceção InvalidCastException . |
Object expressão contém uma cadeia de caracteres e a outra é do tipo String |
Se Option Strict estiver On, gere um erro do compilador.Se Option Strict estiver Off, converta ObjectString e concatene implicitamente. |
Se ambas as expressões forem Object expressões, o Visual Basic executará as seguintes ações (Option Strict Off somente).
| Tipos de dados de expressões | Ação por compilador |
|---|---|
Ambas as Object expressões contêm valores numéricos |
Adicionar. |
Ambas as Object expressões são do tipo String |
Concatenar. |
Uma Object expressão contém um valor numérico e a outra contém uma cadeia de caracteres |
Converta implicitamente a cadeia de caracteres ObjectDouble e adicione.Se a cadeia de Object caracteres não puder ser convertida em um valor numérico, gere uma exceção InvalidCastException . |
Se uma Object das expressões for avaliada como Nothing ou DBNull, o operador a + tratará como um String valor de "".
Observação
Ao usar o + operador, talvez você não consiga determinar se a concatenação de adição ou cadeia de caracteres ocorrerá. Use o & operador para concatenação para eliminar a ambiguidade e fornecer código de auto-documentação.
Sobrecarga
O + operador pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Se o código usar esse operador em tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte Procedimentos de Operador.
Exemplo
O exemplo a seguir usa o + operador para adicionar números. Se os operandos forem numéricos, o Visual Basic calculará o resultado aritmético. O resultado aritmético representa a soma dos 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 cadeias de caracteres. Se os operandos forem ambas cadeias de caracteres, o Visual Basic concatená-los. O resultado da concatenação representa uma única cadeia de caracteres que consiste no conteúdo dos dois operandos um após o outro.
Se os operandos forem de tipos mistos, o resultado dependerá da configuração da Instrução Opção Estrita. O exemplo a seguir ilustra o resultado quando Option Strict é 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 é 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 a ambiguidade, você deve usar o & operador em vez de + concatenação.