learn use c stringbuilder class
In diesem Lernprogramm werden die C # StringBuilder-Klasse und ihre Methoden wie Anhängen, Löschen, Entfernen, Einfügen, Ersetzen und Gleiches im Detail anhand von Beispielen erläutert:
Die StringBuilder-Klasse in C # arbeitet mit der Zeichenfolge, wenn die Verwendung sich wiederholender Zeichenfolgenoperationen erforderlich ist.
Eine Zeichenfolge ist unveränderlich, d. H. Sie kann nicht geändert werden. Sobald eine bestimmte Zeichenfolge erstellt wurde, kann sie nicht mehr geändert werden. Bei jeder Änderung oder Aktualisierung des Strings wird ein neues String-Objekt im Speicher erstellt. Es ist offensichtlich, dass dieses Verhalten die Leistung beeinträchtigt, wenn die wiederkehrende Operation für dieselbe Zeichenfolge ausgeführt wird.
=> Lesen Sie hier die ausführlichen C # -Trainings-Tutorials
Die StringBuilder-Klasse in C # soll dieses Problem lösen. Es ermöglicht eine dynamische Zuweisung von Speicher, d. H. Es kann die Anzahl von Zeichen in der Zeichenfolge erweitern. Es wird kein neues Speicherobjekt erstellt, sondern die Speichergröße wird dynamisch erhöht, um neue Zeichen zu enthalten.
Was du lernen wirst:
Wie initialisiere ich C # StringBuilder?
StringBuilder wird ähnlich wie jede andere Klasse initialisiert. Die StringBuilder-Klasse ist im System-Namespace vorhanden. Der Text muss zur Instanziierung in die Klasse importiert werden.
Beispiel für die Initialisierung:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms ist:
Hallo
C # StringBuilder-Methoden
Die StringBuilder-Klasse bietet auch verschiedene Methoden zur Bearbeitung von Zeichenfolgen.
# 1) Methode anhängen
Wie der Name andeutet, wird am Ende des aktuellen String Builder eine Reihe von Zeichen oder Zeichenfolgen angehängt. Dies ist sehr hilfreich bei der Verbesserung der Leistung, wenn mehrere Zeichenfolgenverkettungen für dieselbe Zeichenfolge ausgeführt werden müssen.
Beispiel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms lautet:
Hallo
Hallo Welt
Im obigen Programm hatten wir zuerst einen String, der über stringBuilder definiert wurde. Dann haben wir Append () verwendet, um eine andere Zeichenfolge mit der vorherigen zu verketten. Wenn wir die Codezeile vor dem Anhängen ausführen, wird sie als 'Hallo' ausgegeben. Sobald wir sie anhängen und das Ergebnis drucken, wird 'Hallo Welt' gedruckt, d. H. Die vorherige Zeichenfolge mit der angehängten Zeichenfolge.
# 2) Methode löschen
Diese Methode entfernt alle Zeichen aus dem aktuellen StringBuilder. Dies ist sehr hilfreich in Szenarien, in denen eine leere Zeichenfolge abgerufen oder die Daten aus einer Zeichenfolgenvariablen gelöscht werden müssen.
Beispiel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms ist:
Hallo
Hallo Welt
Wenn wir eine Löschoperation für StringBuilder ausführen und dann versuchen, die resultierende Zeichenfolge zu drucken. Wir erhalten einen schwarzen String-Wert. Im obigen Programm haben wir den Wert an StringBuilder angehängt und den Wert an die Konsole gedruckt.
Dann haben wir eine Löschoperation ausgeführt, bei der der gesamte Wert aus StringBuilder entfernt wurde. Beim Versuch zu drucken wurde ein leerer Wert gedruckt.
# 3) Methode entfernen
Entfernen ist ähnlich wie Löschen, jedoch mit einem kleinen Unterschied. Es entfernt auch die Zeichen aus dem StringBuilder, jedoch innerhalb eines bestimmten Bereichs, im Gegensatz zu clear, bei dem alle im StringBuilder vorhandenen Zeichen entfernt werden. Entfernen wird immer dann verwendet, wenn das Szenario erfordert, dass das Programm anstelle der gesamten Zeichenfolge einen bestimmten Zeichensatz aus der Zeichenfolge entfernt.
Beispiel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms lautet:
Hallo
Hallo Welt
Er Welt
Entfernen akzeptiert zwei Parameter, der erste gibt den Startindex an, d. H. Den Index des Zeichens, von dem aus Sie mit dem Entfernen beginnen möchten. Der zweite Parameter akzeptiert auch eine Ganzzahl, die die Länge angibt, d. H. Die Länge des Zeichens, aus dem Sie entfernen möchten.
Im obigen Programm haben wir den Startindex als 2 und die Länge als drei angegeben. Also begann es, das Zeichen aus Index 2 zu entfernen, d. H. He’l’lo, und wir gaben die Länge als drei an. Das Programm entfernte drei Zeichen aus 'l', sodass 'l l o' entfernt wurde.
# 4) Methode einfügen
Es fügt am angegebenen Index ein oder mehrere Zeichen in die Zeichenfolge ein. Außerdem kann der Benutzer angeben, wie oft die Zeichenfolge oder das Zeichen in den StringBuilder eingefügt werden muss. Es wird unter den Bedingungen verwendet, unter denen die Zeichen an einer bestimmten Position in die angegebene Zeichenfolge eingefügt werden müssen.
Beispiel:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms lautet:
Hallo Welt
He_insert_llo World
Im obigen Programm wird die Insert-Methode verwendet, um Zeichen an einem bestimmten Index einzufügen. Die Einfügemethode akzeptiert zwei Parameter. Der erste Parameter ist eine Ganzzahl, die den Index angibt, in den die Zeichen eingefügt werden sollen. Der zweite Parameter akzeptiert Zeichen, die der Benutzer am angegebenen Index einfügen möchte.
# 5) Methode ersetzen
Die Methode replace ersetzt alle Vorkommen der angegebenen Zeichenfolge im StringBuilder durch die vom Benutzer bereitgestellte Zeichenfolge oder das vom Benutzer bereitgestellte Zeichen. Es ersetzt bestimmte Zeichen an einem bestimmten Index. Es kann in Szenarien verwendet werden, in denen einige der Zeichen durch ein anderes Zeichen ersetzt werden müssen.
Beispiel:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
Die Ausgabe des obigen Programms ist:
Hallo Welt
Hi Welt
Im obigen Programm haben wir die Replace-Methode verwendet, um 'Hello' durch 'Hi' zu ersetzen. Die Ersetzungsmethode akzeptiert zwei Parameter, der erste ist die Zeichenfolge oder die Zeichen, die Sie ersetzen möchten, und die zweite ist die Zeichenfolge oder das Zeichen, durch die Sie sie ersetzen möchten.
# 6) Gleich Methode
Wie der Name schon sagt, wird überprüft, ob ein StringBuilder anderen gleich ist oder nicht. Es akzeptiert StringBuilder als Parameter und gibt einen booleschen Wert zurück, der auf der erreichten Gleichheitsbedingung basiert. Diese Methode ist sehr nützlich, wenn Sie die Gleichheitsbedingung für zwei StringBuilder überprüfen möchten.
Beispiel:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
Die Ausgabe des obigen Programms lautet:
Virtual-Reality-Headset kompatibel mit ps4
Falsch
Wahr
In dem obigen Programm sind das erste und das dritte StringBuilder-Objekt gleich, d. H. Sie haben den gleichen Wert. Wenn wir also zuerst mit dem zweiten gleichsetzen, gibt es einen falschen Wert zurück, aber wenn wir zuerst und drittens gleich setzen, gibt es wahr zurück.
Fazit
Die StringBuilder-Klasse in C # wird zur Verbesserung der Leistung verwendet, wenn mehrere Operationen an einer Zeichenfolge ausgeführt werden.
Wenn eine Zeichenfolge geändert wird, wird unveränderlich ein weiteres Zeichenfolgenobjekt im Speicher erstellt. Der StringBuilder will das reduzieren.
Der Benutzer kann Änderungen am selben Objekt vornehmen, indem er dynamischen Speicher zuweist. Dies bedeutet, dass die Speichergröße bei Bedarf erhöht werden kann, um mehr Daten aufzunehmen.
=> Lesen Sie hier den C # -Handbuch für Anfänger
Literatur-Empfehlungen
- C # String Tutorial - String-Methoden mit Codebeispielen
- Was ist ein Vergleichstest (Lernen mit Beispielen)
- C # -Funktionen / Methoden-Tutorial mit Codebeispielen
- Java Interface und Abstract Class Tutorial mit Beispielen
- Java-Threads mit Methoden und Lebenszyklus
- Datums- und Uhrzeitfunktionen in C ++ mit Beispielen
- Shell-Sortierung in C ++ mit Beispielen
- Lambdas in C ++ mit Beispielen