2012-03-12 55 views

回答

5

如果您的列表被命名爲myList中和你的謂語比如說myPredicate,那麼你可能想是這樣的:

var result = myList.Where(b => myPredicate(b.A)) 

,或者你可以使用lambda表達式,如:

var result = myList.Where(b => b.A < 10) 

或類似的東西,其謂詞將是b.A < 10

也許你應該給我們一個更完整的代碼示例。

+0

這就是我一直在尋找'myList.FindAll(b => yourPredicate(BA))'謝謝 – wilsonlarg 2012-03-12 12:30:05

+0

函數調用更* scallable *隨即開始拉姆達 – Tigran 2012-03-12 12:32:55

0
list.Where(i=>i.B == "something") 
3

如果您正在使用LINQ,你可以這樣做:

// Define the predicate inline: 
var results = list.Where(b => b.A.Name == "Fred"); 

// or if you have the predicate defined separately: 
var results = list.Where(b => predicate(b.A)); 

如果不使用LINQ,你可以使用的FindAll方法上System.Collections.Generic.List類:

var results = list.FindAll(predicate);