Склеивание строк

C#:
Склеивание строк

Как:

Конкатенация строк в C# может быть выполнена несколькими способами:

Использование оператора +:

string hello = "Привет";
string world = "Мир";
string concatenated = hello + ", " + world + "!";
Console.WriteLine(concatenated); // Вывод: Привет, Мир!

Использование метода String.Concat():

string concatenated = String.Concat("Привет", ", ", "Мир", "!");
Console.WriteLine(concatenated); // Вывод: Привет, Мир!

Использование StringBuilder для эффективности в циклах:

StringBuilder sb = new StringBuilder();
sb.Append("Привет");
sb.Append(", ");
sb.Append("Мир");
sb.Append("!");
Console.WriteLine(sb.ToString()); // Вывод: Привет, Мир!

Использование интерполяции строк (C# 6.0 и выше):

string world = "Мир";
string concatenated = $"Привет, {world}!";
Console.WriteLine(concatenated); // Вывод: Привет, Мир!

Подробнее

Конкатенация строк не новость; она существует с первых дней программирования. Однако, способы ее выполнения в C# эволюционировали. Изначально широко использовался оператор +, но он не всегда эффективен, особенно в циклах, потому что строки в .NET неизменяемы. Каждая операция + создает новую строку, что может привести к проблемам производительности.

String.Concat() - это прямой вызов метода, который также не подходит для циклов, но подходит для объединения небольшого, известного количества строк.

StringBuilder - это предпочтительный выбор для сценариев с циклами или при постепенном построении строки. Под капотом StringBuilder поддерживает буфер для добавления без создания новых строк для каждой операции добавления.

Интерполяция строк, введенная в C# 6.0, позволяет коду быть более читабельным и поддерживаемым. На этапе компиляции она превращается в вызов String.Format(), но выглядит проще и менее подвержена ошибкам.

Каждый метод имеет свое место: быстрые конкатенации (+), объединение нескольких строк (String.Concat()), интенсивное построение строк (StringBuilder) и чистые, форматированные строки (интерполяция строк).

Смотрите также