String.Format
ist eine der ersten Funktionen, die beim Erlernen von einer Sprache unter .NET zum Einsatz kommt. Damit kann man sich ja quasi ein Template mit Platzhaltern definieren. In diese Platzhalter werden dann Werte eingefügt und – falls angegeben – entsprechend formatiert. Das ist bei einem Wert oder zweien nicht so schlimm, kann aber bei zunehmender Anzahl an Werten sehr unübersichtlich werden. Vor allem ist es mühsam herauszufinden, wo welcher Wert denn nun genau steht. Besser wäre es, wenn dies auf den ersten Blick ersichtlich wäre. Hier kommt die String Interpolation zum Zug. Gleich ein Beispiel:
var name = "Norbert";
Console.WriteLine($"{name}");
Dabei muss man sich natürlich an eine vorgegebene Struktur halten. Diese sieht wie folgt aus:
$ " <text> { <interpolation-expression> <optional-comma-field-width> <optional-colon-format> } <text> ... } "
Hier ein paar Beispiele:
Console.WriteLine($"Hallo {name, 15}");
-->Hallo Norbert
Console.WriteLine($"Hallo {name}! {{Herzlich}} willkommen.");
-->Hallo Norbert! {Herzlich} willkommen.
Console.WriteLine($"{costs,15:c} | {actuals,15:c} | {diff,15:c}");
--> 2.000,00 € | 2.800,00 € | -800,00 €
Ein interpolierter String kann überall dort verwendet werden, wo String-Literale gültig sind.
Viel Spaß!
Viele weitere Neuerungen finden sich in der C# 6 Serie.