Modification de la liste pendant l'itération peut causer des problèmes, tels qu'un mal de tête que la "collection a été modifiée; l'opération d'énumération peut ne pas être exécutée" anormale. Cependant, certaines technologies peuvent éliminer efficacement les éléments pendant l'itération.
Une méthode consiste à utiliser la liste d'itération inverse de la boucle pour la boucle. Cela peut empêcher la position d'index de détruire la collection:
for (int i = safePendingList.Count - 1; i >= 0; i--) { // 处理元素 // safePendingList.RemoveAt(i); }
Un autre choix consiste à utiliser la méthode RemoveALL avec un prédicat pour vérifier chaque élément:
<示> Exemple
safePendingList.RemoveAll(item => item.Value == someValue);
<除> avant le retrait:
var list = new List<int>(Enumerable.Range(1, 10));
<除> après le retrait:
Console.WriteLine("移除前:"); list.ForEach(i => Console.WriteLine(i));
Sortie: <<>
<code>1 2 3 4 5 6 7 8 9 10</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!