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";
Était-ce utile?

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é:

 ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top