public List<Model_Result> GetEsEmails { get; set; }
您好:
我的查询需要返回splitted1列表中的所有项目,其中EmailEs不存在于GetEsEmails中。
请帮助您使用语法。
public void SenDEmail(string esemails)
{
//splitting email string
var splitted1 = esmails.Emails.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Replace(";",""));
List<KeyValuePair<string, string>> myList = new List<KeyValuePair<string, string>>();
var result1 = splitted1
.Where(x => GetEsEmails.All(email => x != email.EmailAddress))
.ToList();
}
谢谢你, urpalshu
答案 0 :(得分:1)
LINQ的。我爱Linq?你不喜欢Linq吗? Linq有Except
。 Except
很有趣。
var addressesToIgnore = GetEsEmails.Select(email => email.EmailAddress);
var results = splitted1.Except(addressesToIgnore );
请注意第一行,它只将EmailAddress
属性提取为IEnumerable
。然后第二行返回一个新的IEnumerable
,其中只包含splitted1
以外的addressesToIgnore
成员;
答案 1 :(得分:0)
如果我理解正确,您可能希望这样做: “我想要来自splitted1的那些x字符串,其中GetEsEmails包含任何a.Email等于x的元素<”
var result1 = splitted1
.Where(x => !GetEsEmails.Any(a=>a.Email==x))
.ToList();