Linq从一个列表中删除另一个列表中的项目

时间:2015-03-31 06:44:03

标签: c# linq compare

var returnUser = mailList.Where(A => !suppressUsers.Any(C => A.Email.Equals(C.Email)))
                                                   .ToList<User>();

从上面的代码我想要做的是从邮件列表中删除位于suppressUsers列表中的用户。这段代码是对的吗?因为对于大量的数据集我没有得到正确的答案

1 个答案:

答案 0 :(得分:0)

这应该适合你:

var suppressusersarray = suppressUsers.select(x=>x.email).toArray();
var returnUser = mailList.Where(x=>     suppressuserarray.Contains(x.email)).ToList();
var result = mailist.except(returnuser);