IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

creer un string = à "\"


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut creer un string = à "\"
    Bonjour
    comment puis je faire pour créer un string = "\".

    si je met string monstring = @"\" le string est égale à "\\".

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    et si tu mets pas le @?

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 62
    Par défaut
    Citation Envoyé par chris81 Voir le message
    Bonjour
    comment puis je faire pour créer un string = "\".

    si je met string monstring = @"\" le string est égale à "\\".

    merci
    essaie ça:
    String monstring="\\";

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    bah la en logique ca fait le string vaut \\...

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mastring=@"\"; c'est bon
    mais dans le débuggeur tu verras mastring="\\";
    bref ce qui tu as écrit est bon.

  6. #6
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Citation Envoyé par kiwi645 Voir le message
    et si tu mets pas le @?

    il interprete pas le dernier " car la \ joue ce rôle.

  7. #7
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Citation Envoyé par rattlehead Voir le message
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mastring=@"\"; c'est bon
    mais dans le débuggeur tu verras mastring="\\";
    bref ce qui tu as écrit est bon.
    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

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    hum... je comprends donc ca logique quand il a pensé à \\.

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par kiwi645 Voir le message
    bah la en logique ca fait le string vaut \\...
    Non.

  10. #10
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Citation Envoyé par kiwi645 Voir le message
    hum... je comprends donc ca logique quand il a pensé à \\.
    ça donne chaineALire = chaineALire.Replace(\\, """");

  11. #11
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 62
    Par défaut
    Citation Envoyé par kiwi645 Voir le message
    bah la en logique ca fait le string vaut \\...
    non ça fait "\" et je l'ai testé ;-)

    monstring ="\\"; vaut "\"

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    Oki,

    bah c'est cool si sa fonctionne :]

    jretourne sur mon problème moi -_-

  13. #13
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par chris81 Voir le message
    ça donne chaineALire = chaineALire.Replace(\\, """");
    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 !!!!!!!!!!!!!!!!!!!!!!!

  14. #14
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    \ 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 "\"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    chaineALire = chaineALire.Replace(\\, \\);
    Normal, @"\" = "\\"...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  15. #15
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Citation Envoyé par foued_scorpion Voir le message
    non ça fait "\" et je l'ai testé ;-)

    monstring ="\\"; vaut "\"
    non
    private const string CLE_PARAM2 = "\\";

    qd tu debugge c'est bien = à "\\";

  16. #16
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par chris81 Voir le message
    non
    private const string CLE_PARAM2 = "\\";

    qd tu debugge c'est bien = à "\\";
    Il est manifeste que tu ne lis pas les explications que l'on te donne; si d'autres veulent continuer à perdre leur temps à te répondre dans ces conditions, je leur souhaite bien du plaisir.

  17. #17
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Il est manifeste que tu ne lis pas les explications que l'on te donne; si d'autres veulent continuer à perdre leur temps à te répondre dans ces conditions, je leur souhaite bien du plaisir.
    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);

  18. #18
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    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 :

    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);
    me donnant cela :

    Database=CHP:C:\Documents and Settings\Chris\Mes documents\Travail\Mysystem Test Unitaire V5\Database_empty.mrd,[...]

  19. #19
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Euh alors la je suis vraiment désolé ok je sors

Discussions similaires

  1. [XML] Creer un string qui contient du XML
    Par Hightuxdotnet dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/01/2009, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo