Avatar ·

Literales de cadena multilínea en C#: ¿cómo declarar una cadena con saltos de línea?

¡Hola a todos! Soy un desarrollador C# principiante, vengo de Python y me encontré con un problema que me parece muy incómodo.

En Python podía crear fácilmente cadenas multilínea usando comillas triples:

text = """Esta es una cadena multilínea.
Puede contener saltos de línea.
Y es muy conveniente."""

Pero en C# no encuentro un análogo directo. Cuando intento escribir una consulta SQL larga, JSON o simplemente texto con saltos de línea, obtengo errores de compilación o tengo que usar soluciones alternativas.

Aquí hay un ejemplo de lo que quiero hacer:

string query = "SELECT * \nFROM Users \nWHERE Age > 18";

Obviamente, no se puede escribir así — el compilador se queja. Conozco la concatenación de cadenas y las cadenas verbatim (@-strings), pero no resuelven el problema por completo.

Díganme, ¿hay en C# 7, 8, 9 o versiones más nuevas un soporte adecuado para literales de cadena multilínea? ¿Cómo declarar correctamente cadenas largas con saltos de línea en C#?