0 Tage Serie
csharp / beginner
Snippet

Reduzierung von Speicherallokationen in Schleifen

Reguläre Strings in C# sind unveränderlich. Die Verwendung von StringBuilder ist für die Performance viel effizienter, wenn viele Strings in einer Schleife verkettet werden.

snippet.cs
csharp
1
2
3
4
5
6
7
using System.Text;
var builder = new StringBuilder();
for (int i = 0; i < 100; i++) {
builder.Append("Step ").Append(i).Append("; ");
}
string finalPath = builder.ToString();
Erklärung
1
new StringBuilder()
Erstellt einen einzelnen veränderbaren Puffer, der erweitert werden kann, ohne neue Objekte zu erstellen.
2
builder.Append(...)
Ändert den vorhandenen Puffer, anstatt einen neuen String im Speicher zu allozieren.