如何在StringBuilder
附加新行(\ n \ r)字符?
答案 0 :(得分:116)
我会使用Environment.NewLine Property
像
这样的东西StringBuilder sb = new StringBuilder();
sb.AppendFormat("Foo{0}Bar", Environment.NewLine);
string s = sb.ToString();
或者
StringBuilder sb = new StringBuilder();
sb.Append("Foo");
sb.Append("Foo2");
sb.Append(Environment.NewLine);
sb.Append("Bar");
string s = sb.ToString();
修改强>
如果您希望在每次追加后都有一个新行,您可以查看 @Ben Voigt 答案。
答案 1 :(得分:71)
答案 2 :(得分:22)
另外,使用StringBuilder.AppendLine方法。
答案 3 :(得分:4)
它会在\n
中添加\r\n
而不是{{1}}。
答案 4 :(得分:3)
使用字符串构建器追加内置函数
StringBuilder sb = new StringBuilder();
sb.AppendLine("first line ");
sb.AppendLine("Second line ");
sb.AppendLine("third line ");
输出
FIRSTLINE 第二行 第三行
答案 5 :(得分:1)
对于多行,我找到的最佳方法是:
IEnumerable<string> lines = new List<string>
{
string.Format("{{ line with formatting... {0} }}", id),
"line 2",
"line 3"
};
StringBuilder sb = new StringBuilder();
foreach(var line in lines)
sb.AppendLine(line);
通过这种方式,您不必使用多次重复的Environment.NewLine或AppendLine()来清除屏幕。它也不会像记住键入它们那样容易出错。
答案 6 :(得分:0)
为什么不只是为stringbuilder类创建扩展?
Public Module Extensions
<Extension()>
Public Sub AppendFormatWithNewLine(ByRef sb As System.Text.StringBuilder, ByVal format As String, ParamArray values() As Object)
sb.AppendLine(String.Format(format, values))
End Sub
End Module
答案 7 :(得分:0)
StringBuilder sb = new StringBuilder();
您可以使用 sb.AppendLine()或 sb.Append(Environment.NewLine);