我知道.NET中的System.Text.StringBuilder
有AppendLine()
方法,但是,我需要在StringBuilder
的开头预先添加一行。我知道你可以使用Insert()
追加一个字符串,但我似乎无法使用一行,是否可以使用下一行字符?我正在使用VB.NET,所以答案更可取,但C#中的答案也可以。
答案 0 :(得分:35)
我可以使用下一行字符吗?
您可以使用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);
答案 1 :(得分:2)
您可以使用AppendFormat在任意位置添加新行。
Dim sb As New StringBuilder()
sb.AppendFormat("{0}Foo Bacon", Environment.NewLine)