您好,我在这里很难找到问题的答案,所以我想我只是问一下。我必须列出类、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 的项目”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)