簡體   English   中英

從列表中刪除特定對象

[英]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集合。

http://www.codeplex.com/i4o

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM