如何在StringBuilder
中添加新行(\ n \ r)字符?
我会利用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的答案。
另外,使用StringBuilder.AppendLine方法。
它会在Linux中追加\n
而不是\r\n
。
使用“字符串”构建器追加行内置函数
StringBuilder sb = new StringBuilder();
sb.AppendLine("first line ");
sb.AppendLine("Second line ");
sb.AppendLine("third line ");
产量
第一行第二行第三行
对于多行,我发现最好的方法是这样做:
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()来混淆屏幕。它也不会像记住键入它们那样容易出错。
StringBuilder sb = new StringBuilder();
你可以使用sb.AppendLine()或sb.Append(Environment.NewLine);
为什么不直接为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