您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用LINQ来获取一个List <>中的项目,而不是另一个List <>中的项目

使用LINQ来获取一个List <>中的项目,而不是另一个List <>中的项目

可以使用以下LINQ表达式解决此问题:

var result = peopleList2.Where(p => !peopleList1.Any(p2 => p2.ID == p.ID));

通过LINQ表示这种情况的另一种方法,一些开发人员发现它更具可读性:

var result = peopleList2.Where(p => peopleList1.All(p2 => p2.ID != p.ID));

警告:评论中所述,这些方法要求执行 O(n * m) 操作。可能不错,但可能会带来性能问题,尤其是在数据集很大的情况下。如果这不能满足您的性能要求,则可能需要评估其他选项。由于陈述的要求是针对LINQ中的解决方案,因此,这里不探讨这些选项。与往常一样,根据您的项目可能具有的性能要求评估任何方法

其他 2022/1/1 18:15:37 有442人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶