Heim > Artikel > Backend-Entwicklung > Was ist StringBuilder in C#
Der folgende Artikel „Was ist StringBuilder in C#“ bietet eine Übersicht über den StringBuilder in C#. Bevor wir über StringBuilder sprechen, werfen wir zunächst einen Blick auf das Konzept der Unveränderlichkeit. Wenn Sie mit den Strings vertraut sind, wissen Sie wahrscheinlich, dass Strings unveränderlicher Natur sind, d Bei einer Datenänderung müssen die geänderten Daten an einem neuen Speicherort abgelegt werden und die ursprüngliche Zeichenfolge bleibt erhalten. Nun lasst uns kurz darüber nachdenken. Was ist der Anwendungsfall dieses Ansatzes? Wenn Sie Anmeldeinformationen wie Datenbankdetails oder andere Anmeldeinformationen festlegen, die in der Übergangszeit nicht geändert werden, können Sie dafür String verwenden, um sie zu schützen. Jetzt gibt es eine andere Art von Objekt, den sogenannten StringBuilder, der von Natur aus veränderbar ist und Ihnen somit Speicherplatz spart, indem er Ihnen ermöglicht, Daten nur am aktuellen Speicherort zu ändern. Solche Dinge sind praktisch, wenn Sie mehrere Anhängeoperationen benötigen.
StringBuilder ist eine Klasse, die einen veränderlichen Zeichensatz darstellt und ein Objekt des Systems ist. Text-Namespace. StringBuilder ist von Natur aus ein dynamisches Objekt und daher erstellt StringBuilder kein neues Objekt im Speicher, sondern erweitert dynamisch den erforderlichen Speicher, um die geänderte oder neue Zeichenfolge aufzunehmen. String-Builder scheinen in einer Multithreading-Umgebung nicht überzeugend zu sein, da sie beim Überschreiben durch mehrere Threads zu Dateninkonsistenzen führen können, wenn das Multithreading-Konzept nicht ordnungsgemäß verwendet wird.
1. Jetzt kommt der Punkt, an dem man verstehen muss, zu welchen Ergebnissen Veränderlichkeit führen kann. Sie sollten Veränderlichkeit nur dann verwenden, wenn derselbe Datensatz dynamisch erweitert wird. Nehmen wir ein Beispiel, um dieses Szenario zu verstehen.
2. Wenn Sie einige Daten aus einem HTML-Formular übernehmen, die auf der Grundlage einer Geschäftslogik in einer Tabelle gespeichert werden sollen, die zunächst die Daten validiert, können Sie in diesem Fall ein StringBuilder-Objekt erstellen und alle Datenfelder in Verbindung mit anhängen die Spalten der Datenbank und kann schließlich eine Einfügeabfrage ausführen, um alles in der Datenbank zu platzieren. Der Vorteil eines solchen Ansatzes besteht darin, dass nicht ständig neuer Speicherort zugewiesen werden sollte. Und C# verwaltet diesen einen Speicherort mit dynamischer Erweiterung für Sie.
3. Sie können auch die Nummernkapazität von StringBuilder in C# angeben.
StringBuilder s=new StringBuilder(10);
StringBuilder s=new StringBuilder("object value", 15);
4. Die Eigenschaft StringBuilder.length gibt die Anzahl der Zeichen an, die das StringBuilder-Objekt derzeit enthält. Wenn Sie dem StringBuilder-Objekt Zeichen hinzufügen, erhöht sich seine Länge, bis sie der Größe des StringBuilder entspricht.
In C# stehen bestimmte Methoden zur Verfügung, die die Arbeit mit StringBuilder vereinfachen. Die StringBuilder-Klasse stellt die folgenden Methoden bereit, um die Aufgabe des Entwicklers zu vereinfachen –
Beispiel –
classStringBuilder a = new StringBuilder("val",10); a.append("us")
Wenn Sie console.writeline(a) ausführen, erhalten Sie das Ergebnis „Wert“
Beispiel –
StringBuilder a = new StringBuilder("val",10); a.appendFormat("{0:C}",10)
Führen Sie dies bitte aus und analysieren Sie die Abweichung von dem, was in der einfachen append()-Methode durchgeführt wurde.
Beispiel
StringBuilder a = new StringBuilder("val",10); a.insert(4,"ue")
Ausführen und das Ergebnis sehen
Dies alles macht es zu einer Aufgabe, typische Geschäftsprobleme einfach und mit weniger Codezeilen zu codieren.
ArgumentOutOfRangeException.
OutOfMemoryException.
Nun, wir haben dies nur in den obigen Punkten besprochen und man kann hier die Anwendungsfälle ableiten, in denen dies nützlich sein kann.
Daher haben wir den Unterschied zwischen String und StringBuilder gesehen, wann was zu verwenden ist und welche Herausforderungen oder Ausnahmen bei der Arbeit mit StringBuilder auftreten können.
Das obige ist der detaillierte Inhalt vonWas ist StringBuilder in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!