Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agrega dos números o devuelve el valor positivo de una expresión numérica. También se puede usar para concatenar dos expresiones de cadena.
Sintaxis
expression1 + expression2
o
+expression1
Partes
| Término | Definición |
|---|---|
expression1 |
Obligatorio. Cualquier expresión numérica o de cadena. |
expression2 |
Necesario a menos que el + operador calcule un valor negativo. Cualquier expresión numérica o de cadena. |
Resultado
Si expression1 y expression2 son numéricos, el resultado es su suma aritmética.
Si expression2 está ausente, el + operador es el operador de identidad unario para el valor sin cambios de una expresión. En este sentido, la operación consta de conservar el signo de expression1, por lo que el resultado es negativo si expression1 es negativo.
Si expression1 y expression2 son cadenas, el resultado es la concatenación de sus valores.
Si expression1 y expression2 son de tipos mixtos, la acción realizada depende de sus tipos, su contenido y el valor de option Strict Statement. Para obtener más información, vea las tablas en "Comentarios".
Tipos admitidos
Todos los tipos numéricos, incluidos los tipos de punto flotante y sin signo y Decimal, y String.
Observaciones
En general, + realiza la suma aritmética siempre que sea posible y concatena solo cuando ambas expresiones son cadenas.
Si ninguna expresión es , ObjectVisual Basic realiza las siguientes acciones.
| Tipos de datos de expresiones | Acción por compilador |
|---|---|
Ambas expresiones son tipos de datos numéricos (SByte, Byte, UShortIntegerUIntegerShort, Long, ULong, , Decimal, , Singleo )Double |
Agregar. El tipo de datos de resultado es un tipo numérico adecuado para los tipos de datos de expression1 y expression2. Vea las tablas "Aritméticas de enteros" en Tipos de datos de los resultados del operador. |
Ambas expresiones son de tipo String |
Concatenar. |
| Una expresión es un tipo de datos numérico y la otra es una cadena | Si Option Strict es On, genere un error del compilador.Si Option Strict es Off, convierta implícitamente en StringDouble y agregue.Si no String se puede convertir en Double, inicie una InvalidCastException excepción. |
| Una expresión es un tipo de datos numérico y la otra es Nothing. | Agregue, con Nothing un valor como cero. |
Una expresión es una cadena y la otra es Nothing |
Concatenar, con Nothing el valor "". |
Si una expresión es una Object expresión, Visual Basic realiza las siguientes acciones.
| Tipos de datos de expresiones | Acción por compilador |
|---|---|
Object expression contiene un valor numérico y el otro es un tipo de datos numérico. |
Si Option Strict es On, genere un error del compilador.Si Option Strict es Off, agregue. |
Object expresión contiene un valor numérico y el otro es de tipo String |
Si Option Strict es On, genere un error del compilador.Si Option Strict es Off, convierta implícitamente en StringDouble y agregue.Si no String se puede convertir en Double, inicie una InvalidCastException excepción. |
Object expression contiene una cadena y la otra es un tipo de datos numérico |
Si Option Strict es On, genere un error del compilador.Si Option Strict es Off, convierta implícitamente la cadena Object en Double y agregue.Si la cadena Object no se puede convertir en Double, inicie una InvalidCastException excepción. |
Object expresión contiene una cadena y la otra es de tipo String |
Si Option Strict es On, genere un error del compilador.Si Option Strict es Off, convierta Object implícitamente en String y concatene. |
Si ambas expresiones son Object expresiones, Visual Basic realiza las siguientes acciones (Option Strict Off solo).
| Tipos de datos de expresiones | Acción por compilador |
|---|---|
Ambas Object expresiones contienen valores numéricos |
Agregar. |
Ambas Object expresiones son de tipo String |
Concatenar. |
Una Object expresión contiene un valor numérico y el otro contiene una cadena. |
Convierta implícitamente la cadena Object en Double y agregue.Si la cadena Object no se puede convertir en un valor numérico, inicie una InvalidCastException excepción. |
Si cualquiera de las Object expresiones se evalúa como Nothing o DBNull, el + operador lo trata como con String un valor de "".
Nota:
Al usar el + operador , es posible que no pueda determinar si se producirá la adición o la concatenación de cadenas. Use el & operador para la concatenación para eliminar la ambigüedad y proporcionar código autodocumentado.
Sobrecarga
El + operador se puede sobrecargar, lo que significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de comprender su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.
Ejemplo
En el ejemplo siguiente se usa el + operador para agregar números. Si los operandos son numéricos, Visual Basic calcula el resultado aritmético. El resultado aritmético representa la suma de los dos operandos.
Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.
También puede usar el + operador para concatenar cadenas. Si los operandos son ambas cadenas, Visual Basic los concatena. El resultado de la concatenación representa una sola cadena que consta del contenido de los dos operandos uno después del otro.
Si los operandos son de tipos mixtos, el resultado depende del valor de option Strict Statement. En el ejemplo siguiente se muestra el resultado cuando Option Strict es 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.
En el ejemplo siguiente se muestra el resultado cuando Option Strict es 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 la ambigüedad, debe usar el & operador en lugar de + para la concatenación.