带对象的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,但那太完美了!谢谢