Obtenez tous les 100e valeur dans une boucle
Est-il un moyen de faire plus propre et ne pas utiliser le tempvalue comme je l'ai fait ici?
Mettre à JOUR le code a une logique de bug et ne pas montrer ce que je fais.
C'est ce que je fais:
var loopTempValue = noOfPackets / 100;
for(i=0; i < noOfPackets; i++)
{
\\DoStuff
if (i == loopTempValue)
{
loopTempValue = loopTempValue + (noOfPackets / 100);
UploadBackGroundWorker.ReportProgress(pross);
}
}
Mise à JOUR de Final
C'est comment sa correction après les commentaires, merci les gars.
if (i % (noOfPackets / 100) == 0 && i != 0)
{
UploadBackGroundWorker.ReportProgress(pross);
}
avez-vous déjà entendu parler de
Pour être clair, vous voulez le 36, 72, 144, ... l'ordre dans votre code ou th 100,200, 300 séquence de former le titre?
quel est votre besoin?
code mis à jour,, le premier contient une erreur de logique.
<something>=
opérateurs? ils remplacent des déclarations comme a = a <something> b
avec a <something>= b
. E. g.: a += b
, a %= b
, a *= 2
...Pour être clair, vous voulez le 36, 72, 144, ... l'ordre dans votre code ou th 100,200, 300 séquence de former le titre?
quel est votre besoin?
code mis à jour,, le premier contient une erreur de logique.
OriginalL'auteur Darkmage | 2011-01-25
Vous devez vous connecter pour publier un commentaire.
Module est fantastique pour les contrôles de ce genre.
Plus sur le Module - http://www.vias.org/cppcourse/chap04_01.html
Mise à JOUR: j'ai ajouté
&& i != 0
pour le 0 cas être vrai.Si vous souhaitez utiliser le tempvalue au lieu de codage en dur des 100, alors ce serait une solution:
Et c'est
true
pouri==0
.Eh bien, il a déclaré: "Est-il un était de faire de cette femme de ménage et ne pas utiliser le tempvalue comme je l'ai fait ici". Donc, je suppose qu'il ne voulait pas l'utiliser du tout.
ce n'est pas un lineair séquence
Ce qui répond le Titre de la question, mais il est nulle part près de l'exemple de code.
OriginalL'auteur raRaRa
Vous dire que vous voulez la condition d'être déclenchée 100 fois au cours de la boucle, c'est à dire tous les 36e itération? (Dans votre code original vous double la tempvalue à chaque fois, donc il n'entraîneraient des sept fois au cours de la boucle.)
Vous pouvez utiliser l'opérateur modulo pour vérifier que. Cela va déclencher la condition lors de la dernière de chaque lot de 36 itérations:
oui merci d'avoir signalé le bug, je dident pense que c'creux assez lors de l'écriture de la exsample
oui je le veux pour déclencher tous les 100e fois.
OriginalL'auteur Guffa
OriginalL'auteur Henk Holterman