web-dev-qa-db-fra.com

Comment utilisez-vous des chaînes textuelles avec interpolation?

En C # 6, il y a une nouvelle fonctionnalité: les chaînes interpolées.

Celles-ci vous permettent de placer des expressions directement dans le code, plutôt que de compter sur des index:

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

Devient:

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

Cependant, nous avons beaucoup de chaînes sur plusieurs lignes qui utilisent des chaînes textuelles (principalement des instructions SQL) comme ceci:

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

Revenir à ces chaînes normales semble compliqué:

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

Comment utiliser les chaînes textuelles et interpolées ensemble?

116
Keith

Vous pouvez appliquer les deux $ et @ préfixes à la même chaîne:

string s = $@"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";
165
Keith