Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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/9/ruby-on-rails-3/4.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
C# 具有多重条件的IEnumerable对象的运行时筛选_C#_.net_Linq_Ienumerable - Fatal编程技术网

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