我正在编写一些 ASP.NET 控件,当我遇到需要从列表中删除项目的场景时,只有当它们符合特定条件时。
通用 List
类的 RemoveAll
方法做得很好,但会删除 所有 与谓词指定的条件匹配的项目.
如果我只想删除特定数量的指定条件的项目怎么办?您认为最好的方法是什么?
最佳答案
如果您想同时指定要删除的项目数量限制和选择要删除的项目的条件,您可以使用这种方法:
int limit = 30; // Suppose you want to remove 30 items at most
list.RemoveAll(item => ShouldIRemoveThis(item) && limit-- > 0);
关于.net - 有条件地从列表中删除 N 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16460/