使用 Func 传递 lambda 表达式的多个条件

我有一个如下所示的存储库。我Func过去常常传递一个 lambda 表达式,但我不知道该怎么做。


public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate)

{

    return table.ToList();

}

在我的控制器中,我想通过 lambda 传递一个条件,如下所示,但我不知道如何:


var rslt = _repository.SelectAll(s=>s.Name="Jack" && s.Time==Date.Now())

我应该如何传递这样的 lambda,上面的 lambda 不正确?


湖上湖
浏览 284回答 2
2回答

牧羊人nacy

传递给.Where():public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate){&nbsp; &nbsp; return table.Where(predicate).ToList();}

喵喵时光机

放入扩展名public static class Extensions{&nbsp; &nbsp; public static IEnumerable<T> SelectAll<T>(this IEnumerable<T> items, Func<T, bool> predicate)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; return items.Where(predicate);&nbsp; &nbsp; }}例子:List<int> items = new List<int>() {1,2,3,4,5 };var result = items = items.SelectAll(x => x > 1 && x < 5);
打开App,查看更多内容
随时随地看视频慕课网APP