String Builder не имеет ничего общего с новыми строками, если нет \n
или вы добавляете вручную aa System.getProperty("line.separator")
. Единственное, что изменяется в зависимости от длины строки, это распределение памяти.
Здесь есть часть документации, объясняющая это:
Свойство StringBuilder.Length указывает количество символов, которое StringBuilderобъект в настоящее время содержит. Если вы добавляете символы в объект StringBuilder, его длина увеличивается до тех пор, пока он не станет равным размеру свойства StringBuilder.Capacity, которое определяет количество символов, которое может содержать объект. Если количество добавленных символов приводит к тому, что длина объекта StringBuilder превышает его текущую емкость, выделяется новая память, значение свойства Capacity удваивается, новые символы добавляются в объект StringBuilder и настраивается его свойство Length. Дополнительная память для объекта StringBuilder выделяется динамически, пока не достигнет значения, определенного свойством StringBuilder.MaxCapacity. При достижении максимальной емкости дальнейшая память не может быть выделена для объекта StringBuilder, и при попытке добавить символы или расширить его за пределы его максимальной емкости выдается либо исключение ArgumentOutOfRangeException, либо исключение OutOfMemoryException.
Для получения дополнительной информации вы можетепроверьте официальный поток Microsoft: https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder?view=netframework-4.8
В случае, если любая из ваших строк содержит \n
, ваша проблема в том, что инструмент, который вы используете для визуализации текста, переносит его на новую строку.