Ответ
Конкатенация строк — это операция объединения двух или более строк в одну новую строку. В C# она фундаментальна для динамического формирования текста: построения SQL-запросов (с осторожностью), сообщений для пользователя, логов, JSON/XML и URL.
Основные способы конкатенации в C#:
-
Оператор
+(и+=): Удобен для простых случаев, но неэффективен в циклах.string name = "John"; string greeting = "Hello, " + name + "!"; // "Hello, John!" -
Метод
String.Concat: Явный вызов, работает с массивами строк.string result = String.Concat("The answer is ", 42); // "The answer is 42" string[] words = { "C#", " ", "is", " ", "great" }; result = String.Concat(words); // "C# is great" -
Метод
String.Join: Объединяет коллекцию строк с указанным разделителем.var list = new List<string> { "apple", "orange", "banana" }; string joined = String.Join(", ", list); // "apple, orange, banana" -
StringBuilder: Ключевой инструмент для множественных конкатенаций, особенно в циклах. Он избегает создания множества промежуточных строк в памяти.var sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.AppendLine("Item #" + i); // Эффективно } string finalText = sb.ToString(); -
Интерполяция строк (
$""): Современный, читаемый и производительный способ (компилируется в вызовString.FormatилиString.Concat).int x = 5, y = 10; string summary = $"The sum of {x} and {y} is {x + y}.";
Важное правило: Всегда используйте StringBuilder для конкатенации внутри циклов. Использование оператора + в цикле создает новую строку на каждой итерации, что приводит к значительным накладным расходам на сборку мусора.