String Interpolation
Eintrag zuletzt aktualisiert am: 19.10.2015
Die String Interpolation gehört zu den syntakischen Zuckerstücken in
C# 6.0 und Visual Basic 14.
Durch Voranstellen des Dollarzeichens $ vor eine Zeichenkette kann man anstelle der nachgestellten Parameterliste bei String.Format() die einzelne Ausdrücke direkt in die geschweiften Klammern schreiben. Formatierungs-ausdrücke sind weiterhin möglich.
Alt:
var ausgabeAlt = String.Format("Kunde #{0:0000}: {1} ist in der
Liste seit {2:d}.", k.ID, k.GanzerName, k.ErzeugtAm);
Neu:
var ausgabeNeu = $"Kunde #{k.ID:0000}: {k.GanzerName} ist in der
Liste seit {k.ErzeugtAm:d}.";
Bei Verwendung des bedingten Operators ? : sind zusätzliche runde Klam-mern vor und nach dem Ausdruck notwendig, um eine Verwechselung mit einem Formatierungsausdruck zu vermeiden.
Console.WriteLine($"Stammkunde: {(stammkunde ? "Ja" : "Nein")}");
Eine Kombination mit „
Verbatim String“-Zeichen @ ist möglich, allerdings muss die Reihenfolge $@"..." verwendet werden. @$"…" ist nicht erlaubt.
// Kombination $ und @
var kundenordner1 = String.Format($@"d:\Daten\Kunden\{k.ID:0000}");
// nicht erlaubt: var kundenordner2 = String.Format(@$"d:\Daten\Kunden\{k.ID:0000}");