C# 具有多重条件的IEnumerable对象的运行时筛选
我有类型为C# 具有多重条件的IEnumerable对象的运行时筛选,c#,.net,linq,ienumerable,C#,.net,Linq,Ienumerable,我有类型为IEnumerable 它包括: 名字 城市 地区 国家 还有更多的集合,比如数组 Array CityList = {"Delhi","Goa",...} Array CountryList = {"India","USA",...} Array DistrictList = {"Acb","Xyz",...} 我想把过滤器应用到 attribute City, Country & District of PersonCollection on the basic
IEnumerable
它包括:
- 名字
- 城市
- 地区
- 国家
Array CityList = {"Delhi","Goa",...}
Array CountryList = {"India","USA",...}
Array DistrictList = {"Acb","Xyz",...}
我想把过滤器应用到
attribute City, Country & District
of PersonCollection on the basic
of CityList, CountryList & DistrictList.
假设我有一个过滤器
Array CityList = {"Delhi",}
Array CountryList = {"USA","UK"}
Array DistrictList = {null}
然后我需要这些记录的过滤结果
City = Delhi
OR
Country = USA
OR
Country = UK
有没有获得所需结果的解决方案?您的意思是:“任何不能达到性能的linq查询…”任何不能占用大量时间、资源等的linq查询。。。。获取结果的最佳查询。这些是内存中的对象,因此linq语句不会比编写自己的代码来执行这些操作慢。
PersonCollection.Where(p =>
CityList.Contains(p.City) ||
CountryList.Contains(p.Country) ||
DistrictList.Contains(p.District)
)