web-dev-qa-db-de.com

Wie verwendet man wörtliche Zeichenfolgen bei der Interpolation?

In C # 6 gibt es eine neue Funktion: interpolierte Zeichenfolgen.

Mit diesen können Sie Ausdrücke direkt in den Code einfügen, anstatt sich auf Indizes zu verlassen:

string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());

Wird:

string s = $"Adding \"{x}\" and {this.Y()} to foobar.";

Wir haben jedoch viele Zeichenfolgen in mehreren Zeilen, die wörtliche Zeichenfolgen (hauptsächlich SQL-Anweisungen) verwenden:

string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());

Das Zurücksetzen auf reguläre Zeichenfolgen erscheint unsauber:

string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();

Wie verwende ich sowohl wörtliche als auch interpolierte Zeichenfolgen zusammen?

116
Keith

Sie können sowohl $ und @ Präfixe für dieselbe Zeichenfolge:

string s = [email protected]"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";
165
Keith