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.
Using the insert method with the position parameter set to 0 would be the same as prepending (i.e. inserting at the beginning). StringBuilder insert for java: java.sun.com/j2se/1.5.0/docs/api/java/lang/… The correct JavaDoc for the relevant API is: docs.oracle.com/javase/1.5.0/docs/api/java/lang/…
Append: Appends information to the end of the current StringBuilder. AppendLine: Appends information as well as the default line terminator to the end of the current StringBuilder.
StringBuilder has a public StringBuilder append(CharSequence s) method. StringBuilder implements the CharSequence interface, so you can pass a StringBuilder to that method.
The AppendLine() method appends the content and add a new line on the end.
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);
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With