0 Tage Serie
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 loops
var 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.