Question Puis-je échapper une double citation dans un littéral de chaîne verbatim?


Dans un littéral de chaîne textuelle (@ "foo") en C #, les barres obliques inverses ne sont pas traitées comme des échappements, donc \ "pour obtenir un guillemet double ne fonctionne pas. Existe-t-il un moyen d'obtenir un double guillemet ?

Cela ne fonctionne évidemment pas:

string foo = @"this \"word\" is escaped";

480
2017-12-18 15:36


origine


Réponses:


Utilisez un double devis en double.

@"this ""word"" is escaped";

les sorties:

this "word" is escaped

782
2017-12-18 15:37



Utilisez des guillemets doubles.

string foo = @"this ""word"" is escaped";

105
2017-12-18 15:37



Pour ajouter plus d'informations, votre exemple fonctionnera sans @ symbole (empêche l'échappement avec \), de cette façon:

string foo = "this \"word\" is escaped!";

Cela fonctionnera dans les deux sens, mais je préfère le double guillemet pour que cela fonctionne plus facilement, par exemple, avec les noms de fichiers (avec beaucoup de \ dans la chaîne).


91
2017-12-18 15:51



Cela devrait aider à clarifier les questions que vous pourriez avoir: littéraux c #

Voici un tableau du contenu lié:

enter image description here


63
2017-12-18 15:42