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.
Operadores de adição –
Os tipos numéricos integrais e de ponto flutuante, o tipo string e os tipos delegate dão suporte aos operadores + e +=.
A linguagem C# faz referência a documentos da versão mais recentemente lançada da linguagem C#. Ele também contém a documentação inicial para funcionalidades em pré-visualizações públicas para o próximo lançamento do idioma.
A documentação identifica qualquer recurso introduzido pela primeira vez nas três últimas versões do idioma ou nas versões prévias públicas atuais.
Dica
Para descobrir quando um recurso foi introduzido pela primeira vez em C#, consulte o artigo sobre o histórico de versão da linguagem C#.
Para obter informações sobre o operador aritmético +, consulte as seções operadores mais e menos unários e operador de soma + do artigo operadores aritméticos .
Concatenação de cadeia de caracteres
Quando um ou ambos os operandos são do tipo cadeia de caracteres, o operador + concatena as representações de cadeia de caracteres de seus operandos (a representação de cadeia de caracteres de null é uma cadeia de caracteres vazia):
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.
Interpolação de cadeia de caracteres fornece uma maneira mais conveniente de formatar cadeias de caracteres:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Você pode usar a interpolação de cadeia de caracteres para inicializar uma cadeia de caracteres constante quando todas as expressões usadas para espaços reservados também são cadeias de caracteres constantes.
O + operador executa a concatenação de cadeia de caracteres para cadeias de caracteres literais UTF-8. Esse operador concatena dois objetos ReadOnlySpan<byte>.
Combinação de delegados
Para operandos do mesmo tipo delegado , o + operador retorna uma nova instância delegada que, quando invocada, chama o operando à esquerda e, em seguida, chama o operando à direita. Se qualquer um dos operandos for null, o + operador retornará o valor do outro operando (que também pode ser null). O exemplo a seguir mostra como os delegados podem ser combinados usando o + operador:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Para remover um delegado, use o - operador.
Para obter mais informações sobre tipos de delegado, consulte Delegados.
Operador de atribuição de adição +=
Uma expressão que usa o += operador, como
x += y
É equivalente a:
x = x + y
Exceto que x só é avaliado uma vez.
O exemplo a seguir demonstra o uso do 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
Você também usa o operador += para especificar um método de manipulador de eventos ao assinar um evento . Para obter mais informações, confira Como assinar e cancelar a assinatura de eventos.
Sobrecarga do operador
Um tipo definido pelo usuário pode sobrecarregar o operador +. Ao sobrecarregar um operador binário + , você também sobrecarrega implicitamente o += operador. A partir do C# 14, um tipo definido pelo usuário pode sobrecarregar explicitamente o += operador para fornecer uma implementação mais eficiente. Normalmente, um tipo sobrecarrega o += operador porque o valor pode ser atualizado no local, em vez de alocar uma nova instância para manter o resultado da adição. Se um tipo não fornecer uma sobrecarga explícita, o compilador gerará a sobrecarga implícita.
Especificação da linguagem C#
Para obter mais informações, veja as seções Operador de adição unário e Operador de adição da Especificação de linguagem C#. Para obter mais informações sobre como sobrecarregar os operadores de atribuição composta no C# 14 e posterior, consulte a especificação do recurso de atribuição composta definida pelo usuário .
Consulte também
- Operadores e expressões C#
- Como concatenar várias cadeias de caracteres
- Eventos
- operadores aritméticos
- - and -= operadores