日期:2014-05-20  浏览次数:20816 次

根据条件删除list中的部分元素,求高手!
list1=list.where(s=>s.编号!="");
现在我想把选出的list1从list中删除,但是我不想用遍历,想用linQ,
linQ的大神们,指点一下呗!
------解决方案--------------------
list=list.Except(list1).ToList();
------解决方案--------------------
引用:
引用:
list1=list.where(s=>s.编号!="");
现在我想把选出的list1从list中删除,但是我不想用遍历,想用linQ,
linQ的大神们,指点一下呗!

既然 list1=list.where(s=>s.编号!="");
那么剩下的当然就是list排除list1的情况了:
list=list.where(s=>s……

そですね。
------解决方案--------------------
ありがとう
------解决方案--------------------
下个断点,或者加上这么三行:
Debug.WriteLine("before list - " + string.Join(", ", list));
Debug.WriteLine("list1 - " + string.Join(", ", list1));
list = list.Except(list1).ToList();
Debug.WriteLine("after list - " + string.Join(", ", list));

把输出窗口的内容粘贴过来。
------解决方案--------------------
   List<T>() 类型的话:
var list1=list.where(s=>s.编号!="");
list=list.RemoveRange(list1);