2011-09-08 36 views
24

Tôi có hai danh sách và tôi cần phải so sánh chúng và chỉ trả lại Danh sách các mục không có trong cả hai.Nhận sự khác biệt giữa hai danh sách sử dụng LINQ

var listOfIds = new List<int> {1,2,4}; 

var persons = new ObservableCollection<Person> 
{ 
    new Person {Id = 1, Name = "Person 1"}, 
    new Person {Id = 2, Name = "Person 2"}, 
    new Person {Id = 3, Name = "Person 3"}, 
    new Person {Id = 4, Name = "Person 4"} 
}; 

Trong ví dụ này new Person {Id = 3, Name = "Person 3"} sẽ là kết quả. Một giải pháp LINQ sẽ được ưu tiên.

Trả lời

28

Bạn cũng có thể sử dụng lambda:

var query = persons.Where(item => !listOfIds.Contains(item.Id)); 
Các vấn đề liên quan