c# - 您何时使用 StringBuilder.AppendLine/string.Format

最近的 question came up关于使用 String.Format()。我的部分回答包括使用 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 的精神。

关于c# - 您何时使用 StringBuilder.AppendLine/string.Format 与 StringBuilder.AppendFormat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349724/

相关文章:

c# - 使用任意字符串向左或向右填充 string.format(不是 padleft 或 pad

php - 如何在 PHP 中将数字格式化为美元金额

java - 如何从 Java 中的输入文本中删除标点符号?

android - 在android中的编辑文本中格式化信用卡

java - Java 中的 String.format() 和十六进制数字

python - 如何很好地格式化dict字符串输出

string - Scala 中更好的字符串格式

sql - 有哪些免费的 SQL 格式化工具?

c# - DataContractSerializer 创建的 XML 格式

javascript - 使用 Javascript 将 24 小时时间转换为 12 小时时间 w/