2012-03-12 57 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);