gpt4 book ai didi

c# - 通过 List 删除不需要的对象的最简单方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 18:00:27 25 4
gpt4 key购买 nike

在我的应用程序中,_collection 是一个列表,我需要从中删除所有不符合条件的用户对象

但是,由于 _collection 本身已更改,以下代码在其第二次迭代中出现无效操作错误:

foreach (User user in _collection)
{
if (!user.IsApproved())
{
_collection.Remove(user);
}
}

我可以创建另一个 List 集合并来回复制它们,但是我遇到了非克隆引用类型等问题。

有没有比将 _collection 复制到另一个 List 变量更优雅地执行上述操作的方法?

最佳答案

_collection.RemoveAll(user => !user.IsApproved());

如果您仍在使用 2.0:

_collection.RemoveAll(delegate(User u) { return !u.IsApproved(); });

顺便说一下,如果您不想修改原始列表,您可以通过以下方式获取另一个已批准用户的列表:

_collection.FindAll(user => user.IsApproved());

关于c# - 通过 List<T> 删除不需要的对象的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1120336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com