Où as Je pense que cela est une question d'exécution defered, mais peut-être que je manque un peu le pointsur une collection itérer
J'ai une boucle ainsi
List<int> processed = new List<int>()
foreach(KeyValuePair<int,bool> tbl1 in tables.Where(z=>!processed.Contains(z.Key))){
//do some stuff...etc
processed.Add(someInt);
}
Je me sens ce qui est très dangereux, mais en réalité l'exécution différée fait-elle ce travail? il semble effectivement être itératif je dis un peu doucement «comme prévu» mais .... question est je suppose que probablement c'est une mauvaise idée, normalement jouer avec une collection que vous itérez sur est MAUVAIS ..
pensées? grâce
ok être clair .. la question est
disent tables est rempli comme celui-ci
1, vrai 2, faux 3, faux 4, faux 5, faux 6, faux
premier tour, je reçois le {1, true} dans tbl1 et ajouter disons 2 à la liste traitée sur le deuxième tour j'obtiendrais {3, false} dans le tbl1 puis ajouter 3 et 4 dans le traitement 3ème tour je voudrais obtenir {5, faux} dans tbl1 est-ce prévu?
Si je sur le tour 4 a ajouté 6 à traité aurais-je {5, false} à nouveau sur le tour suivant? est à nouveau ce devrait Je suppose que je trouve cela un peu confus et je sens sa dangereuse, mais peut-être qui est juste pour moi - comme pas tout à fait donner un sens
n
Je pense que votre instinct que c'est mauvais est bon :-) Cela devrait fonctionner cependant. –