如果我按照多个条件过滤列表,我可以这样做:
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值的条件列表?
答案 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();