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
  }

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

时间: 2024-10-05 05:07:43

C#移除List<T> 指定List<T> 数据项的相关文章

js如何移除数组中指定索引的项

js如何移除数组中指定索引的项:在Array对象中有给定的函数可以删除数组中指定的元素,虽然非常好用,但是总感觉看不到摸不着的比较别扭,下面就分享一个自定义的删除数组指定索引值元素的函数,希望给大家一个全新的思路.代码实例如下: var array=[]; array[0]="蚂蚁部落一"; array[1]="蚂蚁部落二"; array[2]="蚂蚁部落三"; array[3]="蚂蚁部落四"; array[4]="

C# 移除字符串末尾指定字符

#region 移除字符串末尾指定字符 /// <summary> /// 移除字符串末尾指定字符 /// </summary> /// <param name="str">需要移除的字符串</param> /// <param name="value">指定字符</param> /// <returns>移除后的字符串</returns> public static s

js移除Array中指定元素

摘自:How do I remove a particular element from an array in JavaScript? 首先需要找到元素的下标: var array = [2, 5, 9]; var index = array.indexOf(5); 使用splice函数进行移除: if (index > -1) { array.splice(index, 1); } splice函数的第二个参数指删除的数目.splice直接修改原数组,并把删除的所有元素以另一个新数组的方式返

C# 移除字符串头尾指定字符

1 private void button1_Click(object sender, EventArgs e) 2 {//去掉字符串头尾指定字符 3 string MyInfo= "--中华人民共和国--"; 4 //显示 "中华人民共和国" 5 MessageBox.Show(MyInfo.Trim(new char[1] { '-' }), "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Infor

203. 移除链表中的元素 Remove Linked List Elements

Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6Return: 1 --> 2 --> 3 --> 4 --> 5 题意:移除链表中指定val的元素 注意:考虑删除节点在尾部,以及连续删除两个相邻节点的情况 /** * Definit

jquery增加,移除,修改一个html标签的class类名

jquery增加,移除,修改一个html标签的class名字 一个标签可以指定多个class 1.         增加一个class: $(".default").addClass("hover_s"); 2.         移除一个class: $(".default").removeClass("default "); 3.         修改一个class: 3.1   可以分两步走: 1 先增加一个你要增加的cl

指定内容批量新建目录

1 import os 2 def mkdir(path): 3 folder=os.path.exists(path) 4 if not folder: 5 os.makedirs(path) 6 print(path+"---OK---") 7 else: 8 print(path+"---There is this folder!---") 9 10 if __name__=='__main__': 11 12 with open('D:\input.txt'

【机器学习实战】第2章 K-近邻算法(k-NearestNeighbor,KNN)

第2章 k-近邻算法 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script> KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法主要是用来进行分类的. KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作片:打斗次数更多 爱情片

java stringBuilder的用法

String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能. (一)设置容量和长度 虽然 StringBuilder对象是