Bonjour
comment puis je faire pour créer un string = "\".
si je met string monstring = @"\" le string est égale à "\\".
merci
Version imprimable
Bonjour
comment puis je faire pour créer un string = "\".
si je met string monstring = @"\" le string est égale à "\\".
merci
et si tu mets pas le @?
bah la en logique ca fait le string vaut \\...
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:
1
2 mastring=@"\"; c'est bon mais dans le débuggeur tu verras mastring="\\";
ben ça marche pas j'ai cela
private const string CLE_PARAM1 = "\\";
private const string CLE_PARAM2 = @"\";
chaineALire = chaineALire.Replace(CLE_PARAM1, CLE_PARAM2);
ce qui donne dans le debug :
chaineALire = chaineALire.Replace(\\, \\);
et biensur cela ne fait rien :(
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 .... 8O 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:
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:
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:
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);
Citation:
Database=CHP:C:\Documents and Settings\Chris\Mes documents\Travail\Mysystem Test Unitaire V5\Database_empty.mrd,[...]
Euh alors la je suis vraiment désolé ok je sors :oops: