Here’s a few general guidelines when working with strings:

Don’t concatenate strings – use a StringBuilder instead
Whenever possible initialize the StringBuilder with enough capacity to avoid re-allocations
Excessive concatenation of strings will be several orders of magnitude slower than using a StringBuilder
String.Format() & StringBuilder.AppendFormat() are significantly slower than just using the +operator or Append() – but may [...]