集合a有数据 1,2,3,4
集合b有数据1,4
现在要把2,3的值比对去掉isDel改为1;foreach (var a in 集合a){
foreach (var b in 集合b){
这里怎么根据两集合里的ID值进行比较,不相等的情况将isDel改为1;
现在这里循环比对的情况是会把集合里的所有数据都改为1;
if(a.ID != b.ID){
a.isDel = 1;
}
}
}
集合b有数据1,4
现在要把2,3的值比对去掉isDel改为1;foreach (var a in 集合a){
foreach (var b in 集合b){
这里怎么根据两集合里的ID值进行比较,不相等的情况将isDel改为1;
现在这里循环比对的情况是会把集合里的所有数据都改为1;
if(a.ID != b.ID){
a.isDel = 1;
}
}
}
解决方案 »
- 字段显示问题
- 正则问题请教 限制字符长度与最小匹配
- UDP传输问题
- 急急!!!由于以下错误: 0x80040154,无法创建 CLSID 为“{E436EBB3-524F-11CE-9F53-0020AF0BA770}”的 COM 对象。
- 菜鸟问题:从网络读取数据失败,原因:请求因 HTTP 状态 403 失败:Access Denied
- 数据库的问题,我删一条记录,要求所有以他的ID为外健的精据都删掉。
- 如何编写一个支持数据库绑定的类,不需要从Control派生
- 如何用c#写asp用的接口?
- 请问:如何从数据库中填充下拉框???
- 如何自己写一个可以多选的下拉列表框
- c# 调用Delphi动态库问题
- C# 特性 Attribute 机制 解释
如何操作
item.isDel = 1;
foreach (var b in 集合b){
if(a.ID == b.ID){
a.noDel= 1;
}
}
}
最后把a里noDel不等于1的都删掉就OK了
{
public bool Equals(String x, String y)
{
return x.ToLower().TrimEnd() == y.ToLower().TrimEnd();
} public int GetHashCode(String obj)
{
return obj.ToLower().TrimEnd().GetHashCode();
}
}a.Except(b, new MyEqualityComparer()).ToList().ForEach(item => item.isDel = 1);如果你的集合里面元素比较复杂,那你就实现IEqualityComparer<T>接口 来比较什么是相同元素,然后再求差集