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.
Operadores de suma:
Los tipos numéricos integrales incorporados y de punto flotante, el tipo cadena y los tipos delegados admiten los operadores + y +=.
La documentación de referencia del lenguaje C# cubre la versión más reciente publicada del lenguaje C#. También contiene documentación inicial sobre las características de las versiones preliminares públicas de la próxima versión del lenguaje.
La documentación identifica cualquier característica introducida por primera vez en las últimas tres versiones del idioma o en las versiones preliminares públicas actuales.
Sugerencia
Para buscar cuándo se introdujo por primera vez una característica en C#, consulte el artículo sobre el historial de versiones del lenguaje C#.
Para obtener información sobre el operador aritmético, consulte las secciones Operadores +Operador de suma + del artículo Operadores aritméticos.
Concatenación de cadenas
Cuando uno o ambos operandos son de tipo cadena, el + operador concatena las representaciones de cadena de sus operandos (la representación de cadena de null es una cadena vacía):
Console.WriteLine("Forgot" + "white space");
Console.WriteLine("Probably the oldest constant: " + Math.PI);
Console.WriteLine(null + "Nothing to add.");
// Output:
// Forgotwhite space
// Probably the oldest constant: 3.14159265358979
// Nothing to add.
La interpolación de cadenas proporciona una manera más cómoda de dar formato a las cadenas:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Puede utilizar la interpolación de cadenas para inicializar una cadena constante cuando todas las expresiones utilizadas para los marcadores de posición son también cadenas constantes.
El + operador realiza la concatenación de cadenas para cadenas literales UTF-8. Este operador concatena dos ReadOnlySpan<byte> objetos.
Combinación de delegados
Para los operandos del mismo tipo delegado , el + operador devuelve una nueva instancia de delegado que, cuando se invoca, llama al operando izquierdo y, a continuación, llama al operando derecho. Si alguno de los operandos es null, el + operador devuelve el valor del otro operando (que también podría ser null). En el ejemplo siguiente se muestra cómo se pueden combinar delegados mediante el + operador :
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Para quitar un delegado, use el - operador .
Para obtener más información sobre los tipos de delegado, vea Delegados.
Operador de asignación y suma +=
Expresión que usa el += operador , como
x += y
Es equivalente a:
x = x + y
Excepto que x solo se evalúe una vez.
En el ejemplo siguiente se muestra el uso del operador +=:
int i = 5;
i += 9;
Console.WriteLine(i);
// Output: 14
string story = "Start. ";
story += "End.";
Console.WriteLine(story);
// Output: Start. End.
Action printer = () => Console.Write("a");
printer(); // output: a
Console.WriteLine();
printer += () => Console.Write("b");
printer(); // output: ab
También se usa el += operador para especificar un método de controlador de eventos al suscribirse a un evento. Para obtener más información, vea Cómo: suscribirse a eventos y cancelar la suscripción.
Posibilidad de sobrecarga del operador
Un tipo definido por el usuario puede sobrecargar el + operador . Al sobrecargar un operador binario + , también sobrecarga implícitamente el += operador. A partir de C# 14, un tipo definido por el usuario puede sobrecargar explícitamente al += operador para proporcionar una implementación más eficaz. Normalmente, un tipo sobrecarga el += operador porque el valor se puede actualizar en su lugar, en lugar de asignar una nueva instancia para contener el resultado de la adición. Si un tipo no proporciona una sobrecarga explícita, el compilador genera la sobrecarga implícita.
Especificación del lenguaje C#
Para obtener más información, consulte las secciones Operador Unary plus y Operador de suma de la especificación del lenguaje C#. Para obtener más información sobre cómo sobrecargar los operadores de asignación compuesta en C# 14 y versiones posteriores, consulte la especificación de características de asignación compuesta definida por el usuario .