2009-11-20 64 views
6

Sono sicuro che questo è qualcosa di veramente semplice che non so, ma come faccio a non riconoscere "\" come sequenza di escape all'interno di una stringaCome usare "" in una stringa senza renderla una sequenza di escape - C#?

Sto provando a digitare un percorso e pensa che sia una sequenza di escape

+1

possibile duplicato di [Sequenza di escape non riconosciuta per stringa contenente barre retroverse - in C#] (http://stackoverflow.com/questions/1302864/unrecognized-escape-sequence-for-string-contain-backslashes-in-c-sharp) –

risposta

42

È possibile utilizzare Verbatim String Literals:

//Initialize with a regular string literal. 
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 8.0"; 

// Initialize with a verbatim string literal. 
string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0"; 
       ↑ 
+27

Simpatico personaggio a freccia. –

+0

complimenti per mostrare le differenze! –

+1

Ok, come hai fatto? – Chris

1

E 'piuttosto semplice, basta fare due barre:

\\

+0

... senza farne una sequenza di escape ... – mjv

+0

dalla questione: sto cercando di digitare un percorso e si pensa che è una sequenza di escape sta cercando di utilizzare una reazione in un percorso senza C# vedendolo come una sequenza di escape, quindi due barre sono la sua risposta. –

1

uso "\\"

cosa divertente: ho dovuto scappare \ usando \\.

+0

Thnx questo risolve il mio problema. – Gurvinder

1

E 'semplice ... Basta mettere simbolo '@' prima della stringa, quindi non è mai la cura per le vostre sequenze di escape ... come questa stringa

name = @ "lndebi \ n \ nlndebi";

l'output sarà lndebi \ n \ nlndebi.

+1

* Mai * cura le tue sequenze di escape ... tranne le virgolette doppie, che devono essere raddoppiate: '@" "" "' è una stringa con una singola virgoletta doppia. (che casino ho fatto con l'uso di doppio e singolo) –

0

È possibile utilizzare "\\" anziché "\" e il segno "@" all'inizio.

Problemi correlati