2014-09-26 34 views
-1

我有一個類型的PersonCollection收集IEnumerable<Person>運行過濾與muiltiple條件

它包含:

  • 名稱
  • 國家

和一些收藏,說一個陣列

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 

任何解決方案來獲得所需的結果?

+0

你是什麼意思:「任何linq查詢不能打到一個表演......?」 – frenchie 2014-09-26 19:07:38

+0

任何linq querry,不需要花費很多時間,資源等....最佳查詢來獲得結果。 – user3324192 2014-09-26 19:12:49

+0

這些是內存中的對象,所以linq語句不會比編寫自己的代碼來執行這些操作要慢。 – frenchie 2014-09-26 19:17:29

回答

0
PersonCollection.Where(p => 
    CityList.Contains(p.City) || 
    CountryList.Contains(p.Country) || 
    DistrictList.Contains(p.District) 
)