Pregunta

I know that the System.Text.StringBuilder in .NET has an AppendLine() method, however, I need to pre-append a line to the beginning of a StringBuilder. I know that you can use Insert() to append a string, but I can't seem to do that with a line, is there a next line character I can use? I am using VB.NET, so answers in that are preferable, but answers in C# are ok as well.

¿Fue útil?

Solución

is there a next line character I can use?

You can use Environment.NewLine

Gets the newline string defined for this environment.

For example:

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

Or even better you can write a simple extension method for that:

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

Then you can use it like this:

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

Otros consejos

You can use AppendFormat to add a new line where ever you like.

Dim sb As New StringBuilder()
sb.AppendFormat("{0}Foo Bacon", Environment.NewLine)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top