Bonjour.
est ce que si la liste l1 n'a aucun élement, le système génèrera une erreur du type index hors limite?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int i=0; while(i<l1.Count)
merci d'avance.
Bonjour.
est ce que si la liste l1 n'a aucun élement, le système génèrera une erreur du type index hors limite?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int i=0; while(i<l1.Count)
merci d'avance.
Non, car la condition évaluée dans le while sera fausse (en l'occurrence ce n'est pas vrai que 0<0 ...)
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))
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])
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; }
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.
Partager