97

你如何在中追加一个新行(\n\r)字符StringBuilder

4

8 回答 8

131

我会使用Environment.NewLine 属性

就像是:

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 的答案

于 2010-04-11T16:36:08.317 回答
80

使用AppendLine 方法

َََ

于 2010-04-11T16:39:03.527 回答
25

此外,使用StringBuilder.AppendLine方法。

于 2010-04-11T16:39:37.940 回答
7

使用 StringBuilder 的追加行内置函数:

StringBuilder sb = new StringBuilder();
sb.AppendLine("First line");
sb.AppendLine("Second line");
sb.AppendLine("Third line");

输出

First line
Second line
Third line
于 2016-07-26T08:07:22.890 回答
5

它将改为附加\n在 Linux 中\r\n

于 2012-01-05T07:04:00.673 回答
3
StringBuilder sb = new StringBuilder();

您可以使用sb.AppendLine()sb.Append(Environment.NewLine)

于 2019-03-11T08:15:46.983 回答
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() 使屏幕混乱。与必须记住键入它们相比,它也更不容易出错。

于 2015-05-01T01:56:34.807 回答
1

只需为 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
于 2018-07-25T14:09:47.807 回答