.NET StringBuilder预先填充了一行

我知道.NET中的System.Text.StringBuilder有一个AppendLine()方法,但是,我需要在StringBuilder的开头预先附加一行。 我知道你可以使用Insert()来附加一个字符串,但我似乎无法使用一行,是否有我可以使用的下一行字符? 我使用的是VB.NET,所以答案更可取,但C#中的答案也可以。

我可以使用下一行字符吗?

您可以使用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); 

您可以使用AppendFormat在任何地方添加新行。

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