2012-08-31 65 views

回答

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

與使用兩個布爾值編寫任何條件相同 - 使用&&||。舉個例子:

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

。請注意,「上游」是一個簡單的Func<MyType, bool>,所以只要你到底返回一個布爾值,你可以在那裏做一些非常時髦的東西。

當然,你必須枚舉IEnumerable.ToList()吧)刪除,因爲你不能改變一個列表枚舉它,但你可能知道(或只使用List.RemoveAll與謂詞以上)之前

相關問題