如何根据条件筛选多个启动列表?

时间:2016-08-04 09:25:01

标签: c#

如果我按照多个条件过滤列表,我可以这样做:

string[] criteria = { "a1", "b1" };
var res = reslist.Where(x => criteria.Contains(x.book)).ToList();

现在我想这样做:

string[] criteria = { "a", "b" };
var res = reslist.Where(x => criteria.ContainsStartsWith(x.book)).ToList();

显然这不存在。如何查看带有startswith值的条件列表?

2 个答案:

答案 0 :(得分:1)

您可以使用Any扩展方法。

var res = reslist.Where(x => criteria.Any(s=>s.StartsWith(x.book)).ToList();

答案 1 :(得分:0)

轻微加入Hari的回答

使用以下

var res = reslist.Where(x => criteria.Any(s=>s.StartsWith(x.book) || criteria.Contains(x.book)).ToList();