差集:从某集合中删除其与另一个集合中相同的项;其实这个说简单点就是某集合中独有的元素;
下面是我在做项目的时候遇到的问题,就是在右击鼠标键弹出添加删除模态框时,既要新添加新数据,也要删除旧数据,然后进行保存操作,这个时候,后台数据的ID只有页面的传过来的ID,也就是说只有新添加的数据和原来的旧数据(包括进行删除操作的数据),并不能实现页面删除数据操作,这个时候只能通过引用C#集合的差集来实现;
代码如下:
List<int> oldID = new List<int>();//原来数据(原来ID)
List<int> newID = new List<int>();//新增数据(新ID)
List<int> listdelectID = new List<int>();//需要删除的ID集合
listdelectID = oldID.Except(newID).ToList();
在调用差集Except时注意两个集合的先后顺序:
int[] oldArray = { 1, 2, 3, 4, 5 };
int[] newArray = { 2, 4, 5, 7, 8, 9 };
var oldChaJi = oldArray.Except(newArray).ToList();//1,3
var newChaJi = newArray.Except(oldArray).ToList();//7,8,9