有关使用String.Format()的最新question came up。我的部分答案包括使用StringBuilder.AppendLine(string.Format(...))的建议。乔恩·斯凯特(Jon Skeet)认为这是一个不好的例子,并建议结合使用AppendLine和AppendFormat。

在我看来,我从未真正让自己沉迷于使用这些方法的“首选”方法。我想我可能会开始使用以下内容,但是我很想知道其他人将其用作“最佳实践”:

sbuilder.AppendFormat("{0} line", "First").AppendLine();
sbuilder.AppendFormat("{0} line", "Second").AppendLine();

// as opposed to:

sbuilder.AppendLine( String.Format( "{0} line", "First"));
sbuilder.AppendLine( String.Format( "{0} line", "Second"));

最佳答案

与调用AppendFormat相比,我认为AppendLine和其后的AppendLine(string.Format(...))不仅更具可读性,而且性能更高。

后者创建一个全新的字符串,然后将其批发添加到现有的构建器中。我不会说“为什么要麻烦使用StringBuilder”呢?但是这似乎与StringBuilder的精神有些背道而驰。

10-04 21:37