How to append two stringBuilders?

Elad Benda picture Elad Benda · Jun 23, 2011 · Viewed 43.3k times · Source

Is there a way to append two string builders? And if so - does it perform better than appending a string to a StringBuilder ?

Answer

Mark Hurd picture Mark Hurd · Jul 9, 2014

I know this is three years later, but the .NET 4 StringBuilder behaves differently anyway.

Nevertheless, it does still come back to "what do you want to do?" Are you looking for simply the most performant way of appending two StringBuilders and continuing on with just the latter result? Or are you expecting to continue working with the existing buffered value of the appended StringBuilder?

For the former, and always in .NET 4,

frontStringBuilder.Append(backStringBuilder);

is best.

For the latter scenario in .NET 2/3.5,

frontStringBuilder.Append(backStringBuilder.ToString(0, backStringBuilder.Length));

is best (and won't hurt performance in .NET 4).