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 +=
.
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.
A partir de C# 11, el +
operador realiza la concatenación de cadenas para cadenas literales UTF-8. Este operador concatena dos ReadOnlySpan<byte>
objetos.
Combinación de delegados
En el caso de los operandos del mismo tipo de delegado , el +
operador devuelve una nueva instancia de delegado que, cuando se invoca, invoca el operando izquierdo y, a continuación, invoca el operando derecho. Si alguno de los operandos es null
, el +
operador devuelve el valor de otro operando (que también puede ser null
). En el ejemplo siguiente se muestra cómo se pueden combinar delegados con el operador +
.
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Para eliminar delegados, 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 . Cuando se sobrecarga un operador binario +
, el +=
operador también se sobrecarga implícitamente. 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 .