有关使用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的精神有些背道而驰。