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
带对象的linq谓词_Linq - Fatal编程技术网

带对象的linq谓词

带对象的linq谓词,linq,Linq,我以前用过: feeds = feeds.Where(a => a.Address.ToUpper().Contains(ff.Street.ToUpper())).ToList(); 现在,由于有多个地址,地址已成为自定义对象列表 public class Addresses { public string StreetNumber { get; set; } public string StreetName { get; set; } etc } 我试图查看

我以前用过:

feeds = feeds.Where(a => a.Address.ToUpper().Contains(ff.Street.ToUpper())).ToList();
现在,由于有多个地址,地址已成为自定义对象列表

public class Addresses
{
    public string StreetNumber { get; set; }
    public string StreetName { get; set; }
    etc
}
我试图查看对象内部,以匹配从用户中选择的任何地址的任何地址街道名称。现在我有:

feeds = feeds.Where(a => a.Addresses[0].StreetName.Contains(ff.StreetName)).ToList();

这只返回列表中的第一个。如何对照列表中的所有街道名称进行检查?谢谢。

要再次选择提要实例:

feeds = feeds.Where(
     aa => aa.Addresses.Any(a => a.StreetName.Contains(ff.StreetName)
).ToList();
或选择匹配的地址:

addresses = feeds.SelectMany(aa => aa.Addresses)
         .Where(a => a.StreetName.Contains(ff.StreetName)).ToList();

就这样。我不得不把第二个两个a改成b,但那太完美了!谢谢