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 :

Utilisation du switch/case avec un StreamReader


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 106
    Par défaut Utilisation du switch/case avec un StreamReader
    bonjour,
    j'ai un fichier texte comme suit:
    BACHE BACHE modify
    j'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    StreamReader monStreamReader = new StreamReader(@"D:\simo.txt");
                string ligne = monStreamReader.ReadToEnd();
                //string s = ligne;
                //MessageBox.Show(s);
                switch (ligne) { 
                    case "Bouche d'arrosage":
                        FChoix t = new FChoix();
                        t.ShowDialog(this);
                        break;
                    case "simo":
                        FChoix f = new FChoix();
                        f.ShowDialog(this);
                        break;
                    default:
                        MessageBox.Show("ça n'exsite pas");
                        break;
    le probleme est que a chaque fois j'ai le messagebox "ça n existe pas"
    je ne sais pas d'ou vient l'erreur.

    merci de m'aider.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Hello,

    Quand tu debug, qu'y a-t-il dans ta string ligne?

    N'y aurait-il pas de \n à la fin? Sinon un ligne.Contains() devrais pouvoir aider...

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string ligne = monStreamReader.ReadToEnd();
    Tout le contenu de monStreamReader va aller dans la variable ligne.

    Si la lecture doit s'effectuer ligne par ligne, il va falloir modifier ça...

    BACHE BACHE modify
    Késako ? Surtout qu'après tu testes "simo" et "Bouche d'arrosage" ... on comprend rien.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 106
    Par défaut RE
    Bonjour
    le fichier texte contient: bache bache ...
    et quand je fais le test sur par exemple si bach existe avec le switch , normallement ça existe donc le resultat doit etre autre chose que default, mais au contraire j'ai toujours le default, je ne sais pas pourquoi?
    et quand je vois ce que contient ligne je trouve qu'elle contient le contenu du fichier texte

  5. #5
    Membre expérimenté
    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
    Par défaut
    Salut

    D'abord comme l'a dis Kaidan, tu devrais utiliser un ReadLine plutot qu'un Readtoend

    Ensuite il existe des methodes permettant de manipuler des string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Contains()
    IndexOf()
    Split()
    StartWith()
    etc..
    qui te permettront certainement des resultat un peu plus réaliste qu'un switch brutal

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 106
    Par défaut RE
    JE DOIS utiliser le switch car j ai plusiurs possibilité a tester!!
    j ai essayé avec la modification du ficher text:alors au lieu d avoir un esapce entre simo et bache et bache,j ai ecrit chaque mot dans une ligne et quand j utilise la methode readline ça marche mais s ne contient que le premier mot!!alors que lorsque j utilise read to end ,la variable s contient tous les mots mais en compilant je n aboutit a rien!!je n ai rien compris!help

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

Discussions similaires

  1. If /Else & Switch case avec plusieurs paramètres
    Par ralek dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 07/07/2010, 19h28
  2. Switch Case avec ToolStripMenu
    Par Zhamy dans le forum C#
    Réponses: 9
    Dernier message: 20/04/2010, 10h22
  3. switch case avec variable dans case
    Par lematteur dans le forum C
    Réponses: 5
    Dernier message: 17/04/2009, 12h08
  4. switch case avec code généré
    Par hoyohoyo dans le forum Langage
    Réponses: 7
    Dernier message: 27/08/2008, 08h37
  5. Switch case avec expression réguliere
    Par neptunia dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2008, 12h51

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