C#移除List<T> 指定List<T> 数据项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#移除List<T> 指定List<T> 数据项相关的知识,希望对你有一定的参考价值。

  最近在coding过程中,遇到了这样了一个问题,有一个List<T>类型数据集,根据业务需求需要在这个数据集中移除所有在另一个同类型的数据集中存在过的数据,即:移除A集合中在B集合中存在过的数据,获得A与B的差集。在MSDN查询资料的时候,发现C#提供了一个 List<T>.RemoveAll(Predicate<T>) 的方法,利用委托实现很是方便


 实现代码如下:

技术分享
   List< Department> deptList = BLL_Department.GetDepartmentList("TypeId=6");  //获得集合A数据
   deptList.RemoveAll(ContainItmes);//加载移除委托事件

   private bool ContainItmes(Department depart)
   {
      List<HelpStandard > listHelpStandard = BLL_HelpStandard.GetListHelpStandard("");//得到所有待移除的数据集合B
    return listHelpStandard.FindAll(item => item.HelpTypeId == depart.Id).Count != 0; //如果传入数据项在集合B中,返回True
  }
View Code

 

MSDN对应链接地址:https://msdn.microsoft.com/zh-cn/library/wdka673a.aspx

以上是关于C#移除List<T> 指定List<T> 数据项的主要内容,如果未能解决你的问题,请参考以下文章

C#中List<T>的作用与用法,求详解 谢谢

c#如对含有二维数据的list如何进行删除操作

在 C# 中将 List<List<T>> 转换为 List<T>

从 List<OwnStruct> 返回 List<T> 的方法,其中 List<T> 仅包含 List 中所有 OwnStructs 的一个属性(C#)[重复]

C# 移除数组中重复项

C# List<T;用法