C#移除List 指定List 数据项


  最近在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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM