Avatar ·

Mehrzeilige Zeichenfolgenliterale in C#: Wie deklariert man eine Zeichenfolge mit Zeilenumbrüchen?

Hallo zusammen! Ich bin ein C#-Anfänger, komme von Python und bin auf ein Problem gestoßen, das mir sehr umständlich erscheint.

In Python konnte ich ganz einfach mehrzeilige Zeichenfolgen mit dreifachen Anführungszeichen erstellen:

text = """Dies ist eine mehrzeilige Zeichenfolge.\nSie kann Zeilenumbrüche enthalten.\nUnd das ist sehr praktisch."""

Aber in C# finde ich kein direktes Äquivalent. Wenn ich versuche, eine lange SQL-Abfrage, JSON oder einfach nur Text mit Zeilenumbrüchen zu schreiben, erhalte ich Kompilierungsfehler oder muss Workarounds verwenden.

Hier ist ein Beispiel, was ich machen möchte:

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

Offensichtlich kann man das nicht so schreiben – der Compiler meckert. Ich kenne Zeichenfolgenverkettung und @-Zeichenfolgen (verbatim strings), aber sie lösen das Problem nicht vollständig.

Könnt ihr mir sagen, ob es in C# 7, 8, 9 oder neueren Versionen eine ordentliche Unterstützung für mehrzeilige Zeichenfolgenliterale gibt? Wie deklariert man richtig lange Zeichenfolgen mit Zeilenumbrüchen in C#?