Символ новой строки в stringbuilder



Как добавить символ новой строки (nr) в StringBuilder?

603   9  

9 ответов:

Я бы использовал окружающая среда.Свойство Новой Строки

что-то вроде

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();

EDIT:

Если вы хотите иметь новую строку после каждого добавления, можно посмотреть @Ben Voigt ответ.

также, используя StringBuilder.AppendLine метод.

Он будет добавлять \n в Linux вместо \r\n.

также эта работа

sb.Append(string.Format("Foo{0}Bar", Environment.NewLine));

для нескольких строк лучший способ, который я нахожу, это сделать это:

        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);

таким образом, вы не должны загромождать экран с окружающей средой.Новая строка или AppendLine() повторяется несколько раз. Он также будет менее подвержен ошибкам, чем помнить их типа.

использовать строковый конструктор добавить встроенные функции строки

StringBuilder sb = new StringBuilder();
sb.AppendLine("first line ");
sb.AppendLine("Second  line ");
sb.AppendLine("third  line ");

выход

первая линия Вторая строка третья строка

Это то, что я использую,

StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.Append("Some string 1" + "\n");
            stringBuilder.Append("Some string 2" + "\n");

почему бы просто не создать расширение для класса 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

Comments

    Ничего не найдено.