![](/img/trans.png)
[英]Using LINQ, get a list of objects that contain a particular property value
[英]Linq - get objects with a list property that does not contain values in another list
我覺得自己完全無法解決這個問題。
我有一個稱為ExistingBookings的“ Booking”對象列表。 我也有一個“計數”對象的ObservableCollection,每個對象都有一個“ Bookings”屬性,該屬性是“ Booking”對象的列表。
使用Linq,如何選擇其“ Bookings”屬性中不包含ExistingBookings中任何“ Booking”對象的所有Count對象?
即
List<Booking> ExistingBookings = new List<Booking>();
ExistingBookings.Add(Booking1);
ExistingBookings.Add(Booking2);
Count1 = new Count();
Count1.Bookings.Add(Booking2);
Count1.Bookings.Add(Booking3);
Count2 = new Count();
Count1.Bookings.Add(Booking3);
Count1.Bookings.Add(Booking4);
List<Count> counts = new List<Count>();
counts.Add(Count1);
counts.Add(Count2);
我期望輸出是僅包含Count2的Count對象的列表,因為ExistingBookings中都不存在其Booking對象。
請讓我擺脫苦難:(
假設您的Booking
類正確實現了相等和哈希碼,則可以使用:
var result = counts.Where(c => !c.Bookings.Intersect(ExistingBookings).Any());
counts.Where(c => c.Bookings.All(b => !ExistingBookings.Contains(b)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.