加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

从vb.net中的List(Of t)中删除项目失败

发布时间:2020-12-17 00:05:55 所属栏目:大数据 来源:网络整理
导读:我有一个通用列表,我正在使用List.Remove(对象)删除项目.我一直在删除项目,但每当我到达第五项我删除它失败,并没有从列表中删除它.我删除的内容似乎并不重要,但每次我尝试删除第五项时失败的五个项目. 可能是什么导致了这个?查看List(Of T).R??emove的文档,
我有一个通用列表,我正在使用List.Remove(对象)删除项目.我一直在删除项目,但每当我到达第五项我删除它失败,并没有从列表中删除它.我删除的内容似乎并不重要,但每次我尝试删除第五项时失败的五个项目.

可能是什么导致了这个?查看List(Of T).R??emove的文档,它没有指定他们用来删除项目的算法.

删除将基于在对象上调用.Equals来匹配.默认情况下,对于给定对象,它只匹配同一个对象.如果你想要两个具有相同属性的对象被认为是相等的,即使它们不是同一个对象,你需要覆盖Equals方法并将逻辑放在那里.

但是,另一个好的选择是使用RemoveAll并使用您要查找的条件传入匿名委托或lambda表达式.例如.:

customers.RemoveAll(customer => customer.LastName.Equals(myCustomer.LastName));

当然,只有当你真的想要删除所有匹配的项目时才有效,和/或如果你确定只有一个匹配项目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读