Zeichenketten verknüpfen

C#:
Zeichenketten verknüpfen

So geht’s:

Hier sind ein paar einfache Beispiele, wie man in C# Strings zusammenfügt:

string gruss = "Hallo";
string ziel = "Welt";
string satz = gruss + " " + ziel + "!";
Console.WriteLine(satz); // Ausgabe: Hallo Welt!

// Mit String Interpolation
string satz2 = $"{gruss} {ziel}!";
Console.WriteLine(satz2); // Ausgabe: Hallo Welt!

// Mit String.Concat
string satz3 = String.Concat(gruss, " ", ziel, "!");
Console.WriteLine(satz3); // Ausgabe: Hallo Welt!

// Mit StringBuilder
var builder = new StringBuilder();
builder.Append(gruss);
builder.Append(" ");
builder.Append(ziel);
builder.Append("!");
Console.WriteLine(builder.ToString()); // Ausgabe: Hallo Welt!

Deep Dive

In den frühen Tagen von .NET war die String-Konkatenation mit dem +-Operator gängig. Das erschien natürlich, aber es kann bei häufigem Gebrauch ineffizient sein, weil Strings unveränderbar (immutable) sind. Jedes Mal, wenn du zwei Strings zusammenfügst, erzeugst du tatsächlich ein ganz neues String-Objekt.

Alternativen wie StringBuilder entstanden, um dieses Problem zu lösen, vor allem in Szenarien, wo man viele Concatenationen durchführt. StringBuilder arbeitet effizient, da es nicht bei jeder Anhängung ein neues String-Objekt erstellt.

String Interpolation (eingeführt in C# 6) und String.Concat sind weitere Alternativen. Interpolation ist weniger fehleranfällig und lesefreundlicher, besonders bei komplexen Zusammensetzungen. String.Concat kann gut sein für das Zusammenfügen einer Vielzahl von Strings, weil es direkt auf das finale Stringlängenziel hinarbeitet.

Es ist wichtig zu wissen, wann du welche Methode nutzen solltest. StringBuilder ist König, wenn es um massenhafte oder komplexe Konkatenationen geht. Für einfache, einmalige Zusammensetzungen tut es der +-Operator oder String Interpolation auch.

Siehe auch