Массовая конкатенация строк

#std782

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

При массовых(*) операциях конкатенации строк следует использовать методы платформы СтрРазделить и СтрСоединить.
Например, неправильно:

Для НомерКолонки = 1 По Макет.ШиринаТаблицы Цикл
  ИзвлеченныйТекст = ИзвлеченныйТекст + Символы.ПС + ТекстОбласти;
  …

Правильно:

ИзвлеченныеТексты = Новый Массив;
Для НомерКолонки = 1 По Макет.ШиринаТаблицы Цикл
  ИзвлеченныеТексты.Добавить(ТекстОбласти);
  …
ИзвлеченныйТекст = СтрСоединить(ИзвлеченныеТексты, Символы.ПС);

Такая обработка данных не только быстрее выполняется, но и приводит к снижению потребления оперативной памяти.

* Примечание: следует ориентироваться на 1000 операций конкатенации строк и более (эта величина также может быть еще меньше при увеличении длин строк: чем строки длиннее, тем операции выполняются дольше). Особого внимания требует конкатенация в циклах и в универсальных механизмах, которые могут применяться на сколь угодно больших объемах данных. В то же время, не следует отказываться от конкатенации строк в остальных случаях, так как это заметно снижает читаемость кода.

См. также