Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何创建这个lambda表达式?_Asp.net Mvc_Linq_Lambda - Fatal编程技术网

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")));