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

C# Discussion :

Caractères d'échappement, y'a un truc qui m'échappe


Sujet :

C#

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 408
    Points : 3 038
    Points
    3 038
    Par défaut Caractères d'échappement, y'a un truc qui m'échappe
    Bonsoir tout le monde,

    Je développe un petit soft en .net 3.0 et j'ai un souci sur une chaîne de caractères. J'écris le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string args = "début\"fin"; 
    MessageBox.Show(args);
    ça m'affiche début\"fin
    Ce que je veux, c'est début"fin

    Pour comprendre, je crée un autre projet dans lequel je mets les mêmes lignes. A l'affichage, j'ai bien début"fin

    Question: Qu'est-ce qui peut provoquer la différence de comportement dans les 2 cas ?

    Papy !

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tu n'a pas mis un @ devant ta string par hazard ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string args = @"début\"fin";
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut

    attends, je comprends pas là... tu as mis "début\"fin" en dur dans le code, et le \ est affiché dans le MessageBox ??
    Dans le debugger, ce serait normal qu'il soit affiché, mais là...
    Tu es sûr que tu as pas mis 2 apostrophes à la place des double quotes ?

    Citation Envoyé par olibara Voir le message
    Tu n'a pas mis un @ devant ta string par hazard ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string args = @"début\"fin";
    non, ça compilerait pas...

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 408
    Points : 3 038
    Points
    3 038
    Par défaut
    Après un grand café, je viens de refaire un test et cette fois ça marche. Je comprends rien sur ce coup-là

    Et hier soir, c'était bien un \" .

    Au début, j'ai pensé que ça pouvait venir du fait que je créais ma chaîne à partir d'un StringBuilder alors j'ai modifié mon code pour créer une chaîne. Le vrai code consiste à créer une chaîne représentant les arguments d'un programme en mode console (xgettext.exe). Ce programme demande entre autres un paramètres réprésentant un nom de fichier que je devais mettre entre " . Comme il ne fonctionnait pas, j'ai affiché ma chaîne d'arguments et c'est là que je me suis aperçu de la présence des \ dans la chaîne.

    Ca restera un mystère.

    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une ListArray d'une classe.. y'a un truc qui m'échappe..
    Par w0lf dans le forum Général Java
    Réponses: 22
    Dernier message: 30/01/2008, 21h51
  2. un truc qui ne passe pas sous firefox ...
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 39
    Dernier message: 08/11/2005, 15h59
  3. Caractères d'échappement
    Par dl_jarod dans le forum ASP
    Réponses: 2
    Dernier message: 26/10/2005, 10h36
  4. caractéres d'échappements
    Par kleenex dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 12h46
  5. [CR][.Net] Déploiement - Truc qui va pas la :D
    Par SoaB dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 10/05/2005, 09h36

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