![](/img/trans.png)
[英]Filter a list of objects using a property that is another list. Using linq
[英]Filter Out List with another list using LINQ
嗨,我在這里找不到問題的答案,所以我想我只是問。 我必須列出類,ServiceItem和ServiceDetailsClass。 我想過濾掉所有不是int ServiceItems列表的ServiceDetailClass項。 這是兩個類:
public class ServiceItem
{
public long ID { get; set; }
public string Status { get; set; }
}
public class ServiceDetailsClass
{
public string Name;
public long ID;
public int Quantity;
public string Notes;
public string Status;
public string Description;
public DateTime CreatedDate;
}
到目前為止,我在這里發現的唯一的事情是列表中有列表,所以這有點不同。 這是我能夠提出的所有內容,但是過濾器列表有0個項目,即使我知道它應該有更多:
lstFilteredServiceDetailsClass = lstServiceDetailsClass.Where(i => lstServiceItem.Contains
(new ServiceItem { lngId = i.ServiceID, strStatus = "Locked" })
任何幫助表示贊賞。 謝謝!
您正在創建一個新對象,然后檢查列表以查看該對象/實例是否在其中(即因為它是一個對象,它正在比較該引用)。
相反,您需要查找重疊的ID。
這樣的事情應該有效:
List<ServiceItem> serviceItems;
List<ServiceItemDetails> serviceItemDetails;
var result = serviceItemDetails.Where(sid => serviceItems.Any(si => si.ID == sid.ID))
英文:“ServiceItemDetails的集合,其中服務項列表具有相同ID的項目”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.