属性上的谓词
本文关键字:谓词 属性 | 更新日期: 2023-09-27 18:27:42
我有一个List<B>
,类B
有一个公共属性A
。
如何使用Predicate<A>
筛选B
的列表?
如果你的列表名为myList,而你的谓词为myPredicate则你可能想要这样的东西:
var result = myList.Where(b => myPredicate(b.A))
或者您可以使用lambda表达式,例如:
var result = myList.Where(b => b.A < 10)
或者类似的东西,其中谓词将是b.A < 10
。
也许你应该给我们一个更完整的代码示例。
如果您使用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,则可以在System.Collections.Generic.List类上使用FindAll方法:
var results = list.FindAll(predicate);
list.Where(i=>i.B == "something")