我想在两个列表之间应用 Except 。一个列表是 MailAddress 格式,另一个是字符串(转换为列表))
I want to apply Except between two lists. One list is in MailAddress format and other is a String (Converted to list))
我想在两个列表之间应用 Except
。一个列表是 MailAddress
格式,另一个是 String
(转换为列表))?
List<MailAddress> toemails = new List<MailAddress>();
//List<String> emailsFrom = address.Split(';').ToList();
List<string> temp1 = new List<string>();
List<MailAddress> temp2 = new List<MailAddress>();
List<MailAddress> temp3 = new List<MailAddress>();
//message.to gives me a list of messages (outgoing)
foreach (var e in message.To)
{
temp2.Add(e);
}
//result contains a list of emails fetched (count=7)
var result = from lst in ListofEmails where lst.ToLower().Length < 50 select lst;
temp1 = result.ToList();
//(Not able to understand this, how to proceed)
// toemails = temp2.Except(temp1.);
// MailMessage msg = new MailMessage();
Except
的输出结果应该是 MailAddress
个对象的列表。
无需使用 Except,只需使用基本的 LINQ:
因为 temp1 包含 e-mail 个地址...
toemails = temp2.Where(email =>
!temp1.Any(e => e.Equals(email.Address, StringComparison.OrdinalIgnoreCase))).ToList();
我想在两个列表之间应用 Except
。一个列表是 MailAddress
格式,另一个是 String
(转换为列表))?
List<MailAddress> toemails = new List<MailAddress>();
//List<String> emailsFrom = address.Split(';').ToList();
List<string> temp1 = new List<string>();
List<MailAddress> temp2 = new List<MailAddress>();
List<MailAddress> temp3 = new List<MailAddress>();
//message.to gives me a list of messages (outgoing)
foreach (var e in message.To)
{
temp2.Add(e);
}
//result contains a list of emails fetched (count=7)
var result = from lst in ListofEmails where lst.ToLower().Length < 50 select lst;
temp1 = result.ToList();
//(Not able to understand this, how to proceed)
// toemails = temp2.Except(temp1.);
// MailMessage msg = new MailMessage();
Except
的输出结果应该是 MailAddress
个对象的列表。
无需使用 Except,只需使用基本的 LINQ:
因为 temp1 包含 e-mail 个地址...
toemails = temp2.Where(email =>
!temp1.Any(e => e.Equals(email.Address, StringComparison.OrdinalIgnoreCase))).ToList();