使用 System.Text.StringBuilder 连接字符串

与使用+进行简单的字符串连接相比,使用 StringBuilder 连接字符串可以提供性能优势。这是由于分配内存的方式。字符串与每个串联重新分配,StringBuilders 在块中分配内存,仅在当前块耗尽时重新分配。这可以在进行大量小型连接时产生巨大的差异。

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
    sb.Append(i);
    sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "

Append() 的调用可以菊花链式连接,因为它返回对 StringBuilder 的引用:

StringBuilder sb = new StringBuilder();
sb.Append("some string ")
  .Append("another string");