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";
È stato utile?

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:

 entrare descrizione dell'immagine qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top