.NET StringBuilder предопределяет строку

Я знаю, что System.Text.StringBuilder в .NET имеет метод AppendLine(), однако мне нужно предварительно добавить строку в начало StringBuilder. Я знаю, что вы можете использовать Insert() для добавления строки, но я не могу сделать это с помощью строки, есть ли следующий символ строки, который я могу использовать? Я использую VB.NET, поэтому ответы в этом предпочтительнее, но ответы на С# тоже хорошо.

Ответ 1

есть ли следующий символ строки, который я могу использовать?

Вы можете использовать Environment.NewLine

Возвращает строку новой строки, определенную для этой среды.

Например:

StringBuilder sb = new StringBuilder();
sb.AppendLine("bla bla bla..");
sb.Insert(0, Environment.NewLine);

Или даже лучше вы можете написать простой метод расширения для этого:

public static class MyExtensions
{
    public static StringBuilder Prepend(this StringBuilder sb, string content)
    {
        return sb.Insert(0, content);
    }
}

Затем вы можете использовать его следующим образом:

StringBuilder sb = new StringBuilder();
sb.AppendLine("bla bla bla..");
sb.Prepend(Environment.NewLine);

Ответ 2

Вы можете использовать AppendFormat, чтобы добавить новую строку, когда захотите.

Dim sb As New StringBuilder()
sb.AppendFormat("{0}Foo Bacon", Environment.NewLine)