Boucle For et Grand nombre [Résolu]

Signaler
Messages postés
82
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
19 janvier 2014
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
Bonjour,

Je suis en train de me poser une question pourquoi quand je fais
for(int i 0;i Tab.Count;i++)
{
//MonCode
}


sachant que Tab.Count contient 500000 enregistrement lors de l'éxecution la boucle for n'est pas réaliser le compilateur la saute directement.

Alors que si je mets

for(int i = 0;i < Tab.Count;i++)
{
//MonCode
}


sa marche

2 réponses

Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
Si tu analyse ton code et la boucle for: elle ne continue que si la condition est vraie. Or pour ton premier test, c'est normal que l'on sorte de suite puisque i n'est pas égal à Tab.Count.

louis
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Boucle for :

for([initialisation] ; [condition pour continuer la boucle] ; [incrémentation])
{

}

L'initialisation, aucun problème : int i =0
L'incrémentation, aucun problème : i++
Condition pour continuer la boucle, là, problème : i == Tab.Count
Ça signifie "On passe dans la boucle tant que i est égal à la taille de ton tableau". Donc si ton tableau, à la base, n'est pas vide, la condition sera fausse au premier passage, donc il saute direct la boucle.

Ce que tu voulais, c'était plutôt continuer la boucle tant que i est différent de la taille du tableau. Donc for(int i = 0; i != Tab.Count; i++)

Mais dans tous les cas, il vaut mieux utiliser une inégalité.
// Une boucle appelée 10 fois
for(int i = 0; i < 10; i++)
// Une boucle qui parcours ton tableau
for(int i = 0; i < monTableau.Length; i++)
// Variante : le foreach (exemple : sur une List<char>)
foreach(char monCaractere in maListe)


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -