LINQ supprime efficacement les éléments List
LINQ est puissant dans les opérations de collecte d'objets. Cet article explique comment supprimer des éléments de List
Supposons que vous souhaitiez supprimer tous les auteurs nommés « Bob » de la liste des auteurs :
<code class="language-csharp">var authors = from x in authorsList where x.firstname == "Bob" select x;</code>
Vous devez maintenant supprimer ces auteurs de la collection originale 'authorsList'. Il existe plusieurs façons de procéder :
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>
Cette méthode modifie la 'authorsList' en excluant les auteurs nommés "Bob" de la requête initiale.
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob);</code>
La méthode RemoveAll supprime efficacement les éléments correspondants de la collection 'authorsList'.
Si l'opération de suppression doit être basée sur un autre ensemble, vous pouvez utiliser HashSet :
<code class="language-csharp">var setToRemove = new HashSet<author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));</code>
Cette méthode crée un HashSet contenant les éléments à supprimer, puis utilise RemoveAll pour les supprimer efficacement de la 'authorsList'.
Avec les méthodes ci-dessus, vous pouvez choisir le moyen le plus efficace de supprimer des éléments de la liste LINQ en fonction de vos besoins réels.
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!