Asp.net mvc 如何创建这个lambda表达式?
为了简单起见,我有以下课程:Asp.net mvc 如何创建这个lambda表达式?,asp.net-mvc,linq,lambda,Asp.net Mvc,Linq,Lambda,为了简单起见,我有以下课程: public class Contact { public string Name { get; set; } public string[] Emails { get; set; } } 我有一组联系人=IEnumerable 我需要找到该集合中的所有联系人,比如说他们的电子邮件地址中有一个文本“xxx”(他们可能有多封电子邮件) 当然,像这样的事情是行不通的: var found = contacts.Where(c => c.Email
public class Contact
{
public string Name { get; set; }
public string[] Emails { get; set; }
}
我有一组联系人=IEnumerable
我需要找到该集合中的所有联系人,比如说他们的电子邮件地址中有一个文本“xxx”(他们可能有多封电子邮件)
当然,像这样的事情是行不通的:
var found = contacts.Where(c => c.Emails.Where(e => e.Contains("xxx")));
我想知道如何使用lambda表达式构建这样的查询
谢谢。试试这个
var found = contacts.Where(c => c.Emails.Where(e => e.Contains("xxx")).Count() > 0);
这将根据指定的电子邮件条件返回所有联系人
祝你好运 试试这个
var found = contacts.Where(c => c.Emails.Where(e => e.Contains("xxx")).Count() > 0);
这将根据指定的电子邮件条件返回所有联系人
祝你好运 在内部表达式中使用
Any
而不是Where
:
var found = contacts.Where(c => c.Emails.Any(e => e.Contains("xxx")));
在内部表达式中使用
Any
而不是Where
:
var found = contacts.Where(c => c.Emails.Any(e => e.Contains("xxx")));