Puis-je échapper à une double citation dans une chaîne littérale mot à mot?
-
20-09-2019 - |
Question
Dans un littéral chaîne mot pour mot (@ « foo ») en C #, antislashs ne sont pas traités comme des évasions, faisant \ » pour obtenir un guillemet ne fonctionne pas. Est-il possible d'obtenir un guillemet dans une chaîne littérale mot à mot?
Cela ne fonctionne pas naturellement:
string foo = @"this \"word\" is escaped";
La solution
Utilisez un guillemet double.
@"this ""word"" is escaped";
sorties:
this "word" is escaped
Autres conseils
Utilisez des guillemets doubles.
string foo = @"this ""word"" is escaped";
Pour ajouter un peu plus d'informations, votre exemple fonctionnera sans le symbole @
(il évite échapper à \), de cette façon:
string foo = "this \"word\" is escaped!";
Il fonctionne dans les deux sens, mais je préfère le style guillemet pour qu'il soit plus facile de travail, par exemple, avec les noms de fichiers (avec beaucoup de \ dans la chaîne).
Cela devrait aider à éclaircir toutes les questions que vous pourriez avoir: c # littéraux
Voici un tableau du contenu lié: