[英]Remove specific objects from a list
我有一個類中有一個list<Book>
,而這些Book
對象有很多屬性。 如何從每個Book中刪除他的level
值不同於例如5?
在這種特殊情況下, List<T>.RemoveAll
可能是你的朋友:
C#3:
list.RemoveAll(x => x.level != 5);
C#2:
list.RemoveAll(delegate(Book x) { return x.level != 5; });
list.RemoveAll(bk => bk.Level != 5);
list.RemoveAll(delegate(Book b) { return b.Level == 5; });
雖然List.RemoveAll()是一個很好的解決方案,但它會對集合產生“foreach”,從而導致O(n)或更差的性能。 如果列表中有很多項目,我建議查看Erick的Index 4 Objects集合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.