从一个列表中选择不在其他列表中的对象
本文关键字:列表 其他 对象 选择 一个 | 更新日期: 2023-09-27 18:04:51
i ' m试图从一个列表中获取不在另一个列表中的数据,两个列表具有相同的数据类型,两个列表是具有不同数据的文章列表:
public class Articles
{
public string ArticleName{ get; set; }
public string ClientName { get; set; }
public DateTime Date { get; set; }
public string ProviderName { get; set; }
public string Seller{ get; set; }
public string ArticleCode { get; set; }
public float Price { get; set; }
public float Stock { get; set; }
public int MiniumUnit { get; set; }
}
List<Articles> LstLowRotation=new List<Articles>();
List<Articles> LstVeryLowRotation=new List<Articles>();
,然后我在每个列表中添加数据(有些是不同的),然后:
LstVeryLowRotation = LstVeryLowRotation.Where(x => !lstLowRotation.Any
(z => z.ArticleCode == x.ArticleCode)).ToList();
但没有给我预期的结果,他们给了我更多的文章。
知道为什么不行吗?
also I try
LstVeryLowRotation.except(Lst.LowRotation)
我知道应该工作,我已经测试了只有几个数据和工作良好,但当我添加数据阅读器的数据它做错了,最奇怪的是,当我运行出现的数据不是在一个列表或另一个列表,它应该是不可能的!!
尝试Enumerable.Except()
-我认为它会做你想要的,如果你添加一个平等覆盖的文章类告诉它比较Articulo
属性。
https://msdn.microsoft.com/en-us/library/vstudio/Bb300779 (v = VS.100) . aspx
最后所有人都是对的,问题出在数据库中,文章代码中有许多奇怪的字符,不得不使比较不起作用。
感谢所有人的帮助