Перейти к основному содержимому

Конкатенация строк

Неявное преобразование к типу «Строка»

Чтобы объединить строку и значение другого типа в новую строку, используйте конкатенацию с неявным преобразованием к типу Строка. Это предпочтительнее, чем вызывать метод ВСтроку() для другого типа, а затем выполнять конкатенацию двух строк:

пер Счетчик = 1
пер Результат = "Итерация №" + Счетчик
пер Счетчик = 1
пер Результат = "Итерация №" + Счетчик.ВСтроку()

Интерполяция

Не забывайте, что кроме конкатенации вы можете использовать интерполяцию строк. Во многих случаях она может выглядеть более понятно:

пер Счетчик = 1
пер Всего = 15
пер Результат = "Итерация №%Счетчик из %Всего"
пер Счетчик = 1
пер Всего = 15
пер Результат = "Итерация №" +
Счетчик.ВСтроку() +
" из " + Всего.ВСтроку()
дополнительно

Для преобразования в строку значений экземпляров иных типов неявно вызывается один из методов:

  • метод ВСтроку() — при конкатенации со строкой или при интерполяции, если выражение интерполяции начинается с символа %,
  • метод Представление() — при интерполяции, если выражение интерполяции начинается с символа $.

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

Под массовой конкатенацией строк понимается 1000 операций конкатенации строк и более. Это количество может быть и меньше при увеличении длины строк: чем строки длиннее, тем операции выполняются дольше.

В таких случаях следует использовать метод Строки.Соединить(). Такой код не только быстрее выполняется, но и приводит к снижению потребления оперативной памяти.

пер Тексты = новый Массив()
пер Результат: Строка
для НомерКолонки = 1 по 1000
Тексты.Добавить("очередной текст")
;

Результат = Строки.Соединить(Тексты,
Символы.ВозвратКаретки)
пер Результат: Строка
для НомерКолонки = 1 по 1000
Результат = Результат +
"очередной текст" +
Символы.ВозвратКаретки
;

Особенно важен этот метод для конкатенации в циклах и в универсальных механизмах, потому что они могут применяться на сколь угодно больших объемах данных.

См. также