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 :

erreur de débutant ?


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 51
    Points : 31
    Points
    31
    Par défaut erreur de débutant ?
    Salut les gars,

    je fais mes exercices quotidiens ;o) et là, pour le coup je ne comprends pas pourquoi ça ne marche pas !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                List<int> entiersMult2 = new List<int>();
     
                for (int i = 1; i <= 100; i++)
                {
                    if (i % 5 == 0)
                    {
                        entiersMult2.Add(i);
                    }
                    else
                    {
                        continue;
                    }
                    Console.WriteLine(entiersMult2[i]);
                }

  2. #2
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Points : 227
    Points
    227
    Par défaut
    Salut a toi,

    cela ne marche pas car tu sort de l'index de ta liste.

    Par conséquent je te propose ceci pour afficher les éléments de ta liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //taille de la liste dans une variable t'évitera de la recalculer à chaque itération
    int taille =  entiersMult2.Count
    for (int i = 0; i < taille; i++)
                {
                    Console.WriteLine(entiersMult2[i]);
                }

  3. #3
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bonsoir,

    (grillé par dharkan mais je laisse parce que ça explique un peu mieux le déroulé)

    À un instant donné, pour une valeur de i, il n'y a pas i éléments dans ta liste donc tu fais une ArgumentOutOfRangeException (autrement dit tu essaies d'accéder à une "case" qui n'existe pas).

    lorsque i vaudra 5, ton test i % 5 == 0 sera validé, tu ajouteras donc 5 à ta liste (et donc la valeur 5 aura pour indice 0)
    Ensuite tu sors du if et tu cherches à afficher l'élément d'indice i (donc d'indice 5)
    c'est en dehors de la liste, ça plante

    Cordialement !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 51
    Points : 31
    Points
    31
    Par défaut
    Merci les gars pour vos réponse ;o) C'est clair, parfaitement logique ;o)


    par contre je ne peux pas créer un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int taille = entierMult2.Count;
    hors de la boucle, puisque c'est dans cette dernière que je remplis ma liste; au début ma liste est vide, sa taille est de zéro.

  5. #5
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Il me semble que dharkan pensait plus à une autre boucle après celle de remplissage (et là la taille sera la bonne )
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 51
    Points : 31
    Points
    31
    Par défaut
    Oki merci !!!!

    Je vais voir ça !

  7. #7
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Points : 227
    Points
    227
    Par défaut
    oui je pensai comme Sehnsucht te le dit.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (from x in Enumerable.Range(1, 100) where x % 5 == 0 select x).ToList().ForEach(y => Console.WriteLine(y));

Discussions similaires

  1. L'erreur du débutant ?
    Par Enkahel dans le forum Débuter
    Réponses: 1
    Dernier message: 04/05/2007, 10h33
  2. Erreur de débutant
    Par michel71 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/12/2006, 14h21
  3. [SQL] Erreur grand débutant echo / $data
    Par carelha dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/05/2006, 12h01
  4. Message d'erreur pour débutant
    Par PhpDeb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 27/04/2006, 12h14
  5. erreur de débutant
    Par michel71 dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 08/03/2006, 00h26

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