J'ai une classe qui a un list<Book>
et les objets Book
ont de nombreuses propriétés. Comment puis-je supprimer de cette liste tous les livres dont la valeur level
est différente de, par exemple, 5?Supprimer des objets spécifiques d'une liste
9
A
Répondre
27
Dans ce cas particulier, List<T>.RemoveAll
est probablement votre ami:
C# 3:
list.RemoveAll(x => x.level != 5);
C# 2:
list.RemoveAll(delegate(Book x) { return x.level != 5; });
5
list.RemoveAll(bk => bk.Level != 5);
1
list.RemoveAll(delegate(Book b) { return b.Level == 5; });
1
Bien que la liste. RemoveAll() est une excellente solution, il fait un "foreach" sur la collection en O (n) ou pire performance. Si vous avez beaucoup d'éléments dans la liste, je vous suggère de consulter les collections Index 4 objets d'Erick.
Questions connexes
- 1. supprimer des entrées spécifiques
- 2. Persist Liste des objets
- 3. Fichier batch pour supprimer des dossiers spécifiques
- 4. supprimer des règles spécifiques en ligne CSS
- 5. Supprimer et ajouter des classes spécifiques - Jquery
- 6. Supprimer des objets de UINavigationController
- 7. jquery ajouter supprimer des objets
- 8. supprimer des objets de randomizer obj c
- 9. Supprimer champ pk des objets sérialisé django
- 10. liste Filtrage des objets d'une autre liste
- 11. Liste des objets boost :: Unique_Ptr
- 12. Débogueur VS2005: Ajout d'une surveillance sur des champs spécifiques dans tous les objets d'une liste?
- 13. Supprimer des balises HTML spécifiques et des caractères non-ASCII
- 14. Supprimer l'historique des appels/SMS pour des numéros spécifiques?
- 15. Liste des objets et des événements partagés
- 16. Supprimer des objets dans Entity Framework
- 17. Comment supprimer des objets deletedObjects de ManagedObjectContext?
- 18. Approche pour concevoir des objets de service spécifiques ou génériques?
- 19. Liste des objets à la liste des interfaces
- 20. Obtenir la liste Activerecord des objets associés à partir de la liste des objets
- 21. Suppression d'éléments d'une liste contenant des caractères spécifiques
- 22. Comment supprimer des caractères spécifiques d'une chaîne particulière en Java?
- 23. Supprimer des entrées de clé de tracé spécifiques dans JFreeChart
- 24. Supprimer des éléments spécifiques du cache de Django?
- 25. Supprimer la ligne contient des mots/phrases spécifiques avec PHP
- 26. Supprimer du cache des données utilisateur spécifiques sur Session_End
- 27. flex FDT: comment supprimer les avertissements pour des lignes spécifiques?
- 28. Liste des objets à Excel Spreadsheet?
- 29. Liste des objets COM disponibles avec Powershell
- 30. Structure JSON pour la liste des objets
Merci beaucoup! – iTayb
pouvons-nous faire la liste.Retirer (x => x.level == 5) ;? Si nous voulons supprimer un livre dont le niveau est 5. –
@FarazAhmad: Vous pouvez utiliser 'list.RemoveAll (x => x.level == 5)'. Il n'y a pas de surcharge de 'Remove' qui prend un prédicat cependant. –