Operatory i są obsługiwane przez wbudowane typy liczb całkowitych i typy liczb zmiennoprzecinkowych, typ ciągu oraz typy delegatów .
Aby uzyskać informacje na temat operatora arytmetycznego +, zobacz sekcje dotyczące operatorów jednoargumentowych , takich jak plus i minus oraz operator dodawania + w artykule o operatorach arytmetycznych .
Konkatenacja ciągów znaków
Gdy jeden lub oba operandy są typu ciąg, operator + łączy reprezentacje ciągów jego operandów (reprezentacja ciągu null jest pustym ciągiem):
C#
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.
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:// Probably the oldest constant: 3.14
Za pomocą interpolacji ciągów można zainicjować ciąg stały, gdy wszystkie wyrażenia używane dla symboli zastępczych są również ciągami stałymi.
Począwszy od języka C# 11, operator + wykonuje łączenie ciągów dla ciągów literałów UTF-8. Ten operator łączy dwa obiekty ReadOnlySpan<byte>.
Kombinacja delegatów
W przypadku operandów tego samego typu delegata operator + zwraca nowe wystąpienie delegata, które po wywołaniu wywołuje operand po lewej stronie, a następnie wywołuje operand po prawej stronie. Jeśli którykolwiek z operandów jest null, operator + zwraca wartość innego operandu (co również może być null). W poniższym przykładzie przedstawiono sposób łączenia delegatów z operatorem +:
C#
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Typ zdefiniowany przez użytkownika może przeciążenia operatora +. Gdy operator binarny + jest przeciążony, operator += jest również przeciążony niejawnie. Typ zdefiniowany przez użytkownika nie może jawnie przeciążyć operatora +=.
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz sekcje operatora jednoargumentowego plusa i operatora dodawania w specyfikacji językaC# .
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.