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