.NET StringBuilder前置一行

时间:2014-02-18 17:41:07

标签: c# .net vb.net stringbuilder

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

2 个答案:

答案 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)