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

VB.NET Discussion :

Comment remplacer un "Goto" [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut Comment remplacer un "Goto"
    Bonjour à tous !

    J'aurais besoin d'une astuce pour passer toute une série de tests dans mon code, je m'explique :

    Je dois lire et récupérer des informations dans des milliers de fichiers texte.

    Pour cela j'utilise un StreamReader qui parcours ligne par ligne chaque fichier texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Try
                Using sr As New StreamReader(path)
                    While Not (sr.EndOfStream)
     
                         If currentLine.Contains ....
     
                         If currentLine.Contains ...
    etc ..

    Je souhaiterai optimiser le code car si le premier "if" est vrai, les autres ne le seront pas. Je voudrais faire une sorte de "Goto" a la fin du while mais en plus propre

    J'espère avoir été assez claire

    Merci d'avance,

    Jah

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if cond1 then
        'code
      elseif cond2 then
        'code
      elseif cond3 then
        'code
      else
        'code
    end if
    ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select case true
       case cond1 
         ' code
       case cond2
         'code
       case else 
         'code
    end select
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if machin then
       ' code
       continue while
    end if
     
    if machin2 then 
       ' code
       continue while
    end if
    continue while remonte au while pour le prochain tour

    exit while sort de la boucle while

    il existe aussi exit sub (équivaut à return), exit try (qui sort d'un try catch mais sans sortir de la sub), continue for, exit for etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Super Pol63 !

    C'était le "Continue While" dont j'avais besoin mais je ne connaissais pas son existence

    Je suis obligé de faire des "If currentLine.Contains("Date")", "If currentLine.Contains("Machine")" etc et je voulais qu'à chaque fin de "If", le programme passe à la ligne suivante sans passer par toutes les autres conditions.

    Merci beaucoup !!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/05/2005, 16h58

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