Dans de nombreux scénarios de programmation, les éléments de la liste doivent être traités. Cependant, si certains éléments doivent être supprimés au cours de ce processus, la méthode standard peut avoir des problèmes.
L'utilisation de
dans le cycle provoquera des anomalies, et le compteur décroissant et l'utilisation détruira la position de set actuelle. foreach
.Remove(element)
Une solution plus élégante est la liste des itérations inverses: .RemoveAt(i)
Cela garantit que l'élément de suppression n'affecte pas la position actuelle dans la liste.
for (int i = safePendingList.Count - 1; i >= 0; i--) { // 处理元素 // 如需移除元素 // safePendingList.RemoveAt(i); }
L'exemple suivant démontre l'utilisation de la méthode du cycle RemoveAll
:
safePendingList.RemoveAll(item => item.Value == someValue);
Sortie:
for
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!