Posso sfuggire un doppio apice in una stringa verbatim letterale?
-
20-09-2019 - |
Domanda
In una stringa verbatim letterale (@ "foo") in C #, backslash non sono trattati come fughe, così facendo \" per ottenere un doppio apice non funziona. C'è un modo per ottenere un doppio apice in un stringa verbatim letterale?
Questa comprensibilmente non funziona:
string foo = @"this \"word\" is escaped";
Soluzione
Con una doppia citazione duplicato.
@"this ""word"" is escaped";
uscite:
this "word" is escaped
Altri suggerimenti
Usa virgolette doppie.
string foo = @"this ""word"" is escaped";
Per l'aggiunta di qualche informazione in più, il tuo esempio funzionerà senza il simbolo @
(che impedisce la fuga con \), in questo modo:
string foo = "this \"word\" is escaped!";
Si lavorerà in entrambe le direzioni, ma io preferisco lo stile di virgolette doppie per essere più facile di lavoro, ad esempio, con i nomi dei file (con un sacco di \ nella stringa).
Questo dovrebbe aiutare a chiarire tutte le domande che potete avere: c # letterali
Ecco una tabella dal contenuto collegato: