1416 Stimmen

Mehrzeiliges String-Literal in C#

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.

4voto

rattray Punkte 4083

Wenn Sie keine Leerzeichen/Neuzeilen wünschen, scheint die Addition von Zeichenfolgen zu funktionieren:

var myString = String.Format(
  "hello " + 
  "world" +
  " i am {0}" +
  " and I like {1}.",
  animalType,
  animalPreferenceType
);
// hello world i am a pony and I like other ponies.

Sie können die oben genannten aquí wenn Sie mögen.

2 Stimmen

Ein (versehentlich aufgezeigter) Fehler bei diesem Ansatz ist, dass man sehr vorsichtig sein muss, um Leerzeichen dort einzufügen, wo man sie haben will. Ich würde einen konsequenteren Ansatz als den von mir gewählten empfehlen (z. B. immer am Anfang der Zeile).

0 Stimmen

String + string ist allerdings nur das, womit OP angefangen hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X