169 Stimmen

Wie können wir Zeichenfolgen mit StringBuilder vorangestellt?

Ich weiß, dass wir Strings anhängen können mit StringBuilder . Gibt es eine Möglichkeit, Zeichenketten voranzustellen (d. h. Zeichenketten vor einer Zeichenkette hinzuzufügen), indem man StringBuilder damit wir die Leistungsvorteile behalten können, die StringBuilder Angebote?

2voto

ScubaSteve Punkte 6764

Sie könnten selbst eine Erweiterung für StringBuilder mit einer einfachen Klasse erstellen:

namespace Application.Code.Helpers
{
    public static class StringBuilderExtensions
    {
        #region Methods

        public static void Prepend(this StringBuilder sb, string value)
        {
            sb.Insert(0, value);
        }

        public static void PrependLine(this StringBuilder sb, string value)
        {
            sb.Insert(0, value + Environment.NewLine);
        }

        #endregion
    }
}

Dann fügen Sie einfach hinzu:

using Application.Code.Helpers;

Am Anfang jeder Klasse, in der Sie den StringBuilder verwenden möchten, und jedes Mal, wenn Sie Intelli-Sense mit einer StringBuilder-Variablen verwenden, werden die Methoden Prepend und PrependLine angezeigt. Denken Sie nur daran, dass Sie bei der Verwendung von Prepend in umgekehrter Reihenfolge vorangestellt werden müssen, als wenn Sie anhängen würden.

0voto

gok-nine Punkte 195

Das sollte funktionieren:

aStringBuilder = "newText" + aStringBuilder;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X