2012-08-31 4 views

답변

10
list1.RemoveAll(c => list2.Any(c2 => c2.Name == c.Name && c2.City == c.City)); 
2

두 개의 부울이있는 조건을 쓰는 것과 같습니다. && 또는 ||을 사용합니다. 예 :에 "조건은"너무 오래 당신이 결국 부울을 반환로, 단순히 Func<MyType, bool> 것을

from x in list1 
where list2.Any(y => y.Name == x.Name && y.City == x.City) 
select x 

주, 당신은 거기에 꽤 펑키 물건을 할 수 있습니다. 물론

, 당신은 열거 할거야 IEnumerable (.ToList() IT)을 열거 동안 목록을 변경할 수는 없지만 아마 (또는 위의 술어 List.RemoveAll를 사용하는) 것을 알고 있기 때문에 삭제하기 전에

관련 문제