Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Операторы добавления —
Встроенные числовые типы, такие как целочисленные и с плавающей запятой, тип строки, и типы делегатов поддерживают операторы + и +=.
Сведения об арифметическом операторе + см. в разделах Арифметических операторов плюса и минуса и операторов сложения + разделах арифметических операторов.
Объединение строк
Если один или оба операнда имеют тип строкового , оператор + объединяет строковые версии своих операндов (строковое представление 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#
Дополнительные сведения см. в разделах