In einem wörtlichen Zeichenfolgenliteral (@ "foo") in C # werden Backslashes nicht als Escapezeichen behandelt. Daher funktioniert es nicht, \ "ein doppeltes Anführungszeichen zu erhalten. Gibt es eine Möglichkeit, ein doppeltes Anführungszeichen in einem wörtlichen Zeichenfolgenliteral zu erhalten? ?
Das funktioniert verständlicherweise nicht:
string foo = @"this \"word\" is escaped";
$@"this ""{wordVar}"" is escaped";
.Verwenden Sie doppelte Anführungszeichen.
quelle
Wenn Sie weitere Informationen hinzufügen möchten, funktioniert Ihr Beispiel auf folgende Weise ohne das
@
Symbol (es verhindert das Escapezeichen mit \):Es funktioniert in beide Richtungen, aber ich bevorzuge den Stil in doppelten Anführungszeichen, damit es einfacher ist, beispielsweise mit Dateinamen (mit viel \ in der Zeichenfolge) zu arbeiten.
quelle
Dies sollte Ihnen helfen, alle Fragen zu klären, die Sie möglicherweise haben: c # -Literale
Hier ist eine Tabelle aus dem verlinkten Inhalt:
quelle