La meilleure pratique de supprimer les éléments de la liste générique en toute sécurité et efficacement
Lorsque la liste générique itérative et exécutez l'opération qui peut avoir besoin de supprimer l'élément, il est important de choisir le mode d'itération approprié pour éviter les pièges communs. Par exemple, l'utilisation de
dans le cycle provoquera des anomalies, car la collection est modifiée pendant le processus d'énumération.
foreach
Solution stable .Remove(element)
Afin de résoudre ce problème, il est recommandé d'utiliser la liste d'itération inverse cyclique. Cette méthode garantit que la position actuelle dans l'ensemble lors du retrait des éléments est exacte.
Exemple: for
<code class="language-csharp">for (int i = safePendingList.Count - 1; i >= 0; i--) { // 处理元素 // safependingList.RemoveAt(i); }</code>
Méthode alternative
Un autre choix consiste à utiliser les méthodes<code class="language-csharp">var list = new List<int>(Enumerable.Range(1, 10)); for (int i = list.Count - 1; i >= 0; i--) { if (list[i] > 5) list.RemoveAt(i); } list.ForEach(i => Console.WriteLine(i));</code>
Démonstration simplifiée:
RemoveAll
<code class="language-csharp">safePendingList.RemoveAll(item => item.Value == someValue);</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!