8
votes

Comment échapper automatiquement au chemin

J'ai une chaîne de chemin comme c: \ user \ test \ test.jpg , comment puis-je le faire c: \\ user \\ test \\ test.jpg ?


3 commentaires

Vous ne pouvez pas affecter une chaîne comme chaîne S = "c: \ user \ test \ test.jpg"; Il donnera une erreur de compilation, la chaîne ne peut prendre que "\\" au lieu de "\", mais des chaînes littérales "\\" toujours traitées comme "\".


@Asif, ce n'est pas correct. Voir ma réponse.


@ASIFQADRI, non seulement on peut utiliser la syntaxe de chaîne de Verbatim pour définir une chaîne (le signe sur le signe), mais également une telle chaîne dans les arguments d'une fonction «principale».


4 Réponses :


5
votes

Vous n'auriez besoin que de s'échapper si vous utilisez la chaîne littérale dans le code. Pourquoi auriez-vous besoin d'une échappée automatique de toute façon? Vous pouvez utiliser @ avant le littéral qui ne nécessite aucune échappée.


0 commentaires

16
votes
string s = s.Replace(@"\", @"\\");

0 commentaires

24
votes

Essayez ceci:

string path = @"c:\user\test\test.jpg";


1 commentaires

Comment faire en face de cela? et quand il y a de notes aléatoire de \\ dans le chemin pour par exemple. Comment puis-je faire ce chemin C: \\ Abcdef \\\\ smstr \\ irrétrief \\ 20_newsgroups \\ 20_newsgroup s \\ alt.atheism \\ comme c: \ abcdef \ smstr \ irrétrieval \ 20_newsgroups \ 20_newsgroups \ alt. Alt. un théisme \?



0
votes

Vous pouvez toujours essayer quelque chose comme: system.text.regularexpressions.regex.unescape, bien sûr, qui feront tous les caractères échappés.


0 commentaires