当前位置:  开发笔记 > 编程语言 > 正文

从另一个集合中的一个集合中删除项目

如何解决《从另一个集合中的一个集合中删除项目》经验,为你挑选了1个好方法。

我有两个集合(通用列表),我们称之为ListA和ListB.

在ListA中,我有一些类型为A的项目.在ListB中,我有一些类型B的项目具有与ListA中的项目相同的标识(但不是同一类型),还有更多项目.我想删除ListB中与ListA中ID相同的所有项目.这样做的最佳方法是什么?Linq对象很合适吗?你会用什么算法?

ListA:ItemWithID1,ItemWithID2¨

ListB:ItemWithID1,ItemWithID2,ItemWithID3,ItemWithID4

编辑:我忘记在原始问题中提到ListA和ListB不包含相同的类型.因此,比较它们的唯一方法是通过.Id属性.这使我到目前为止得到的答案无效.



1> Todd White..:

这有两个选择.不确定哪一个更快.

listB.RemoveAll(listA.Contains);


foreach (string str in listA.Intersect(listB))
  listB.Remove(str);

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有