Bonjour
comment puis je faire pour créer un string = "\".
si je met string monstring = @"\" le string est égale à "\\".
merci
Bonjour
comment puis je faire pour créer un string = "\".
si je met string monstring = @"\" le string est égale à "\\".
merci
pour mettre dans une chaine un caractère spécial le C# utilise le @ en debut de chaine pour que le compilo ne considère pas ce caractère spécial.
globalement si tu mets
bref ce qui tu as écrit est bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mastring=@"\"; c'est bon mais dans le débuggeur tu verras mastring="\\";
hum... je comprends donc ca logique quand il a pensé à \\.
Oki,
bah c'est cool si sa fonctionne :]
jretourne sur mon problème moi -_-
Bon, on arrête le délire là; cinq postes pour délirer sur une caractéristique basique du langage ....j'hallucine.
Pour faire cours :
- chaine non littérale (non préfixée par '@') : le caractère "\" est un caractère d'échappement et se traite de la même manière qu'en C.
- chaine littérale (constante préfixée par '@') : pas de caractère d'échappement.
C'est tout et il n'y rien d'autre à dire la dessus.
RTFM, bordel !!!!!!!!!!!!!!!!!!!!!!!
\ est le caractere d'echappement en C#....
tu auras "\\" en mode debug, mais si tu fais affiche le contenu de ta chaine (dans une textbox ou la console), il t'affichera "\"
Normal, @"\" = "\\"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 chaineALire = chaineALire.Replace(\\, \\);
ben le probleme est que je les lit, les teste mais cela ne resoud rien alors j'insiste.
voici mon code se sera plus simple pour vous peut être. Coller le chez vous executer le et vous verrez.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 chaineALire ="Database=CHP:C:\\Documents and Settings\\Chris\\Mes documents\\Travail\\Mysystem Test Unitaire V5\\Database_empty.mrd,User_Name=sysdba,Password=339332308327321305329315328344,GetDriverFunc=getSQLDriverINTERBASE,LibraryName=dbexpint.dll,VendorLib=GDS32.DLL,BlobSize=-1,CommitRetain=False,ErrorResourceFile=,LocaleCode=0000,RoleName=RoleName,ServerCharSet=,SQLDialect=1,Interbase TransIsolation=ReadCommited,WaitOnLocks=True" private const string CLE_PARAM1 = "\\"; private const string CLE_PARAM2 = @"\"; private const string CLE_PARAM3 = "\""; chaineALire = chaineALire.Replace(CLE_PARAM3, string.Empty); chaineALire = chaineALire.Replace(CLE_PARAM1, CLE_PARAM2);
Salut,
ce que te disent les autres, c'est que dans le debugger, un "\" est affiché "\\" et c'est tout à fait normal.
Si tu veux etre sur, ne regarde pas le debug mais dump par exemple ton string dans la fenetre de debug (Trace.Write()), tu verras que tes \ ne sont pas doublés.
Edit : j'ai essayé (sait-on jamais !) et j'ai bien le resultat escompté, ceci :
me donnant cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 string chaineALire = "Database=CHP:C:\\Documents and Settings\\Chris\\Mes documents\\Travail\\Mysystem Test Unitaire V5\\Database_empty.mrd,User_Name=sysdba,Password=339332308327321305329315328344,GetDriverFunc=getSQLDriverINTERBASE,LibraryName=dbexpint.dll,VendorLib=GDS32.DLL,BlobSize=-1,CommitRetain=False,ErrorResourceFile=,LocaleCode=0000,RoleName=RoleName,ServerCharSet=,SQLDialect=1,Interbase TransIsolation=ReadCommited,WaitOnLocks=True"; string CLE_PARAM1 = "\\"; string CLE_PARAM2 = @"\"; string CLE_PARAM3 = "\""; chaineALire = chaineALire.Replace(CLE_PARAM3, string.Empty); chaineALire = chaineALire.Replace(CLE_PARAM1, CLE_PARAM2); Trace.WriteLine(chaineALire);
Database=CHP:C:\Documents and Settings\Chris\Mes documents\Travail\Mysystem Test Unitaire V5\Database_empty.mrd,[...]
Partager