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 :

System.ArgumentOutOfRangeException est l'erreur


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut System.ArgumentOutOfRangeException est l'erreur
    Bonjour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int i=0;
    while(i<l1.Count)
    est ce que si la liste l1 n'a aucun élement, le système génèrera une erreur du type index hors limite?

    merci d'avance.

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Non, car la condition évaluée dans le while sera fausse (en l'occurrence ce n'est pas vrai que 0<0 ...)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut
    pour qu'elle raison je peux donc avoir une erreur qui pointe sur cette ligne?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while((int)l1[i]==(int)l2[j]&&(i<l1.Count)&&(j<l2.Count))

  4. #4
    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
    peut-être parce que tu évalues d'abord l1[i] et l2[j]

    Si tu fais comme ça, je le sent mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    while((i<l1.Count)&&(j<l2.Count)
         &&(int)l1[i]==(int)l2[j])

    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.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut
    quand j'utilise le deboggeur de visual, il me donne les informations çi aprés:
    l1.count=1;
    l2.count=5;
    i=1;
    j=1;

    et une erreur du style l'index etait hors limite, tout en pointant sur cette ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int i=0;
    int j=0;
    while((int)l1[i]==(int)l2[j]&&(i<l1.Count)&&(j<l2.Count))
    			{
    				i=i+1;
    				j=j+1;
    			}

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Citation Envoyé par christianf Voir le message
    l1.count=1;
    l2.count=5;
    i=1;
    j=1;
    Je suis d'accord avec Visual, l1[i] n'existe pas. l1 ne contient qu'un seul élément qui est l1[0] (donc on commence à compter à partir de 0).

    Tente avec le code de pvialatte

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut
    oui, c'etait ça le problème.
    il évaluait d'abord l1[0]==l2[0].
    maintenant, il passe cette ligne, et signale une erreur semblable sur une autre ligne.
    je vais essayer de gerer ça.
    merci encore.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/07/2011, 11h03
  2. [systeme] ou est stockee physiquement une base de donnee ?
    Par pierre.zelb dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 05/07/2005, 14h42
  3. [VB.NET] Pagination DataGrid (où est l'erreur?)
    Par franculo_caoulene dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/10/2004, 11h46
  4. Ou est l'erreur ?
    Par Antoine NSG dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/09/2004, 10h56
  5. [Erreur] Quel est cette erreur?
    Par netah25 dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/08/2004, 10h16

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