Utilisez LINQ pour supprimer efficacement les éléments List
LINQ est une puissante technologie de requête de données qui peut filtrer et sélectionner des éléments spécifiques dans une collection. Cependant, lorsqu'il s'agit de collections mutables telles que List
Requête et suppression LINQ
Considérez la requête LINQ suivante :
var authors = from x in authorsList where x.firstname == "Bob" select x;
Cette requête renvoie une séquence d'objets Author nommés auteurs. Cependant, si vous souhaitez supprimer ces auteurs de la authorList, l'utilisation des auteurs pour la suppression ne mettra pas directement à jour la collection d'origine.
Solution pour supprimer les résultats de requête
Il existe deux stratégies principales pour supprimer les résultats d'une requête de la liste des auteurs :
authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();
Cela crée effectivement une nouvelle liste filtrée d'auteurs qui n'inclut pas Bob.
authorsList.RemoveAll(x => x.FirstName == "Bob");
Cette méthode parcourt la authorsList et supprime tous les éléments qui correspondent au prédicat.
Manière alternative de filtrer plusieurs éléments
Si vous devez supprimer plusieurs éléments spécifiques basés sur un ensemble distinct (par exemple HashSet) :
var setToRemove = new HashSet<Author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));
Cette méthode supprime efficacement tous les auteurs de setToRemove de la authorsList.
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!