Стандартный класс StringBuilder
Назначение
Часто возникает необходимость в последовательной модификации некоторой строки (например, при чтении набора строк с консоли и объединении их в одну строку). Стандартный тип string PascalABC.NET и его операция += неэффективны в таких ситуациях (происходит многократное создание новых объектов строк). Для этого случая в пространстве имён System.Text имеется специальный класс StringBuilder. Результирующая строка хранится внутри этого класса, модифицируется с помощью методов этого класса, а перед окончанием работы получается вызовом метода ToString класса StringBuilder.
Пример
Приведём подпрограмму для решения такой задачи: с консоли вводится последовательность строк, завершающаяся пустой строкой. Создать строку, получающуюся объединением строк, введённых с консоли.
function ConcatInput : string;
begin
var sb := new System.Text.StringBuilder();
var line : string;
while true do
begin
Readln(line);
if line = '' then
break;
sb.Append(line); // аналог +=
end;
result := sb.ToString; // преобразование sb к строке
end;