Entfliehen Sie {0}
, indem es als {{0}}
Schreiben so String Interpolation sie allein lässt. Dann können Sie die Zeichenfolge in string.Format
übergeben, um die {0}
zu ersetzen.
Für diejenigen fragen, warum Sie dies tun wollen würde, kann ich eine Möglichkeit vorstellen, wo Sie irgendeine Art von wieder verwendbaren Vorlage tun wollen wie:
var urlTemplate = $"<a href='{BaseHref}/some/path/{{0}}'>{{1}}</a>";
var homeLink = string.Format(urlTemplate, "home.html", "Home");
var aboutLink = string.Format(urlTemplate, "about.html", "About Us");
Natürlich ist dieses Beispiel zu einfach zu rechtfertigen Solch eine Technik, aber ich kann mir vorstellen, wenn Sie eine Vorlage mit einer sehr großen Anzahl von Variablen hatten und Sie nur ein Paar von einer gerenderten Vorlage zur nächsten interessiert, dass dies besser lesbar wäre als {32}, {33}, {34}...
usw. in Ihrer Vorlage.
* Warum * möchten Sie es tun? Was können Sie damit erreichen, was mit String-Interpolation nicht möglich ist? – Fabjan
Und wie würdest du es genau verwenden? Übergeben interpolierte Zeichenfolge an "String.Format"? – kiziu
Sie wetten, Sie können stringformat nach der Interpolation wie dieses string.format (fancyString, SomethingToFillYour {0} With); Aber warum würdest du das jemals tun wollen? – Thorarins