Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Операторы добавления —
Встроенные числовые типы, такие как целочисленные и с плавающей запятой, тип строки, и типы делегатов поддерживают операторы + и +=.
Справочные документы по языку C# описывают последнюю выпущенную версию языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.
Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.
Подсказка
Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей об истории версий языка C#.
Сведения об арифметическом операторе + см. в разделах Арифметических операторов плюса и минуса и операторов сложения + разделах арифметических операторов.
Объединение строк
Если один или оба операнда имеют тип строкового , оператор + объединяет строковые версии своих операндов (строковое представление null представляет собой пустую строку):
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
Интерполяция строк позволяет инициализировать константную строку, если все выражения, используемые для заполнителей, также являются константными строками.
Оператор + выполняет объединение строк для строк UTF-8. Этот оператор объединяет два объекта ReadOnlySpan<byte>.
Комбинация делегатов
Для операндов одного типа + делегата оператор возвращает новый экземпляр делегата, который при вызове вызывает операнду слева, а затем вызывает операнду справа. Если какой-либо из операндов null, + оператор возвращает значение другого операнда (который также может быть null). В следующем примере показано, как делегаты могут объединяться с помощью + оператора:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Чтобы удалить делегат, используйте - оператор.
Дополнительные сведения о типах делегатов см. в разделе Делегаты.
Оператор назначения добавления +=
Выражение, использующее += оператор, например
x += y
Эквивалентен:
x = x + y
За исключением того, что x оценивается только один раз.
В следующем примере показано использование оператора +=:
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
Оператор += также используется для указания метода обработчика событий при подписке на событие . Дополнительные сведения см. в разделе Как подписаться на события и отменить подписку на события.
Перегрузка оператора
Определяемый пользователем тип может перегрузить оператор +. При перегрузке двоичного + оператора вы также неявно перегружаете += оператор. Начиная с C# 14 определяемый пользователем тип может явно перегружать += оператор, чтобы обеспечить более эффективную реализацию. Как правило, тип перегружает += оператор, так как значение может быть обновлено на месте, вместо выделения нового экземпляра для хранения результата добавления. Если тип не предоставляет явной перегрузки, компилятор создает неявную перегрузку.
Спецификация языка C#
Дополнительные сведения см. в разделах