Der folgende Code generiert einen Compilerfehler über eine "nicht erkannte Escape-Sequenz" für jeden Backslash:
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Ich denke, ich muss dem Backslash entkommen? Wie mache ich das?
Sie können entweder jedes Mal einen doppelten Backslash verwenden
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
oder verwenden Sie das @ -Symbol
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Versuche dies:
Das Problem ist, dass in einer Zeichenfolge a
\
ein Escapezeichen ist. Mit dem@
Zeichen weisen Sie den Compiler an, die Escape-Zeichen zu ignorieren.Sie können auch mit der Flucht auskommen
\
:quelle
quelle
Wenn Ihre Zeichenfolge wie in Ihrem Beispiel ein Dateipfad ist, können Sie auch Dateipfade im Unix-Stil verwenden:
Die anderen Antworten bieten jedoch allgemeinere Lösungen für das Entkommen von Zeichenfolgen in C #.
quelle
Dies wird funktionieren oder die vorherigen Beispiele auch. @ "..." bedeutet, dass Sie alles zwischen den Anführungszeichen wörtlich behandeln, damit Sie es tun können
Einfügen einer wörtlichen Newline. Ich bin eher altmodisch und entkomme lieber "\" mit "\\"
quelle