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