¿Cómo se utilizan cadenas literales con interpolación?

En C # 6 hay una nueva característica: cadenas interpoladas.

Estos le permiten poner expresiones directamente en el código, en lugar de depender de índices:

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

Se convierte en:

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

Sin embargo, tenemos muchas cadenas a través de varias líneas usando cadenas literales (principalmente sentencias SQL) como esta:

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

Revertir estos a cadenas regulares parece desordenado:

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

¿Cómo uso las cadenas textuales e interpoladas juntas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta