csharp / beginner
Snippet
Geschwindigkeit beim Aufbau großer Strings
In C# sind Strings unveränderlich (immutable). Die Verwendung von '+' in einer Schleife erzeugt viele temporäre Objekte. Der StringBuilder bietet einen veränderbaren Puffer, der die Performance bei großen Textoperationen erheblich verbessert.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
using System.Text;public class TextProcessor {public string JoinWords(string[] words) {// StringBuilder is more efficient than normal string concatenation in loopsvar sb = new StringBuilder();foreach (var word in words) {sb.Append(word).Append(" ");}return sb.ToString().Trim();}}
Erklärung
1
new StringBuilder()
Erzeugt ein Objekt, das für den Aufbau und das Ändern von Strings optimiert ist.
2
sb.Append(word)
Fügt Inhalt am Ende des Puffers hinzu, ohne ein neues String-Objekt zu erstellen.