Salut
J ai un probleme avec une chaine de caractere qui contient par exemple :
"c:\\bla\\bli\\blo"
et ce string doit servir dans une requete , or le chemin dans la bdd est :
"c:\bla\bli\blo"
comment faire ? le replace \\ par \ ne marche pas !!
thx
Salut
J ai un probleme avec une chaine de caractere qui contient par exemple :
"c:\\bla\\bli\\blo"
et ce string doit servir dans une requete , or le chemin dans la bdd est :
"c:\bla\bli\blo"
comment faire ? le replace \\ par \ ne marche pas !!
thx
deja essaye ... je fais :
il me rajoute \\'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 str.replace("'", @"\'")
meme en faisant
il double les \
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string test = @"C:\bla\bli\blo"
![]()
Il les double à quel niveau ?
Parce que si tu regardes le contenu d'une chaîne de caractère en phase de déboguage, en utilisant un espion sous VS2005 par exemple, c'est normal qu'il te les double. Et si tu l'affiches avec un MessageBox, il ne doivent pas être doublés.
Lorsque tu utilises les string verbatim, en ajoutant le @ devant la chaîne, cela permet d'éviter que le \ soit traité comme le caractère d'échappement. Par contre, derrière le système retraite la chaîne et un \ sera un \\ lorsque tu regardes ta variable avec un espion. Le @ devant une chaîne de caractères est la pour une question de lisibilité uniquement.
Donc quand tu dis qu'il te les double, c'est à quel niveau ?
oui c est par un espion ... donc la chaine est bien correcte ...
Bien évidemment
Pour t'en convaincre, créer un projet console et affiche le type de chaîne que tu utilise. Tu verras que les \ ne seront pas doublés à l'affichage![]()
Partager