2013-04-10 253 views
-3

我有一個對象列表,我想過濾某些標準。所以我有過濾掉列表

List<person> plist= Person.getPersonList(); 

List<person>大約有400記錄,每條記錄都有名字,姓氏,家庭住址,電話號碼,身份證。用戶可以在搜索框中 輸入任何搜索條件,我要過濾的plist,然後顯示,如此爲例如 如果用戶輸入FisrtName與搜索條件匹配的結果「TE

我想篩選出的plist表示所有用TE開頭的名字。

任何幫助,將不勝感激。

感謝。

-anjali

+0

我想在多個領域如名字姓氏上做,所以用戶可以輸入te作爲名字,並在同一個文本框中,他們可以輸入te作爲姓氏 – 2013-04-10 20:27:04

+0

我爲什麼得到-4這裏 – 2013-04-11 14:31:34

回答

3
List plist= Person.getPersonList(); 
var filtered = plist.Where(x => x.FirstName.StartsWith("te").ToList(); 

以尋找更多的則1倍的值一次:

List plist= Person.getPersonList(); 
var filtered = plist.Where(x => x.FirstName.StartsWith("te") || x.OtherProperty.StartsWith("some other value")).ToList(); 

這一切很容易勾搭自己壽,所以我覺得你有你需要在這裏的基礎 操作。

+0

@HackyStack sry,現在會。 – Thousand 2013-04-10 20:16:14

+0

我修改後刪除了我的評論,但爲了後代,您最初擁有'.Contains'而不是'.StartsWith'。現在是正確的。 – HackyStack 2013-04-10 20:21:10

+0

如何爲多個搜索條件編寫相同的代碼 – 2013-04-10 20:31:50