Gibt es eine einfache Möglichkeit, eine mehrzeilige String-Literal in C# zu erstellen?
Hier ist, was ich jetzt habe:
string query = "SELECT foo, bar"
+ " FROM table"
+ " WHERE id = 42";
Ich weiß, PHP hat
<<<BLOCK
BLOCK;
Gibt es in C# etwas Ähnliches?
2 Stimmen
In Ihrem Beispiel gibt es keine Zeilenumbrüche. Möchten Sie sie?
12 Stimmen
Nein. Ich wollte nur mehrere Zeilen aus Gründen der Sichtbarkeit/Code-Sauberkeit.
10 Stimmen
In diesem Fall enthalten die wörtlichen Zeichenfolgen die Zeilenumbrüche. Sie können @"...".Replace(Environment.NewLine,"") verwenden, wenn Sie möchten.
14 Stimmen
Sie sollten sich überlegen, ob Sie die
42
als Parameter zu verwenden, vor allem, wenn er aus Benutzereingaben stammt, um SQL-Injection zu vermeiden.3 Stimmen
@weiqure: Environment.NewLine spiegelt nicht unbedingt die Zeilenumbrüche in der Zeichenkette wider, da die Zeilenumbrüche so genommen werden, wie sie im Quellcode vorkommen. Man kann also den Code auch mit unterschiedlichen Zeilenumbrüchen in jeder Zeile schreiben, die sich alle von dem unterscheiden, was Environment.NewLine auf dem Zielsystem sagt!