web-dev-qa-db-ja.com

.NET StringBuilderは行を先頭に追加します

.NETの_System.Text.StringBuilder_にはAppendLine()メソッドがあることは知っていますが、StringBuilderの先頭に行を事前に追加する必要があります。 Insert()を使用して文字列を追加できることは知っていますが、1行では追加できないようです。次の行の文字を使用できますか?私はVB.NETを使用しているので、その答えが望ましいですが、C#の答えも大丈夫です。

19
Art F

使用できる次の行の文字はありますか?

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);
42
Selman Genç

AppendFormat を使用して、好きな場所に新しい行を追加できます。

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